首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何测试Rails Helper定义方法?

在测试 Rails Helper 定义的方法时,请遵循以下步骤。在 Rails Helper 中定义的方法将用于辅助(helper)视图或控制器,因此,针对这些方法的测试与针对其他 Ruby 类的方法的测试有所不同。

使用 rspec 和 autospec

rspec 和 autospec 是 Ruby 用于测试的必备武器。你可以使用以下命令安装 rspec 和 autospec:

代码语言:bash
复制
gem install rspec autospec

然后,在 Rails Helper 测试场景中,确保使用 describecontext 关键词来创建测试用例,例如:

代码语言:ruby
复制
describe ApplicationHelper, type: :helper do
  context "some helper method" do
    before do
      # set expectations before the helper method is called
    end

    # test helper method
    it "should do something" do
      allow(helper).to receive(:important_method).and_return("value")
      helper.helper_method("foo", "bar") # helper method must return "value"

      expect(helper).to have_received(:important_method).with("foo").exactly(1).times
    end
  end
end

请注意,allow 会允许预期的方法调用,and_return 配置 helper 在调用 helper_method 时需要返回的特定值。

使用 Webrick 和 ActionController::TestCase

如果你想针对一个特定的 Helper 示例手动测试:

  1. 导入 Webrick 模块。require 'test_helper' # load helper helper_test by default assert_equal 'value', some_helper_method("foo", "bar")
  2. 在控制器(例如,controllers/admin/admin_controller.rb)内使用 Helper 方法。
  3. test/controllers 目录中,创建一个名为 admin_controller_test.rb 的测试文件(例如:helper_test.rb)。
  4. 添加以下代码到 "helper_test.rb" 测试文件:

通过 Webrick,运行 rspec 测试:

代码语言:bash
复制
rspec --tag='functional' spec/admin/admin_controller_spec.rb
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分27秒

28_尚硅谷_Promise从入门到自定义_自定义Promise_then方法测试和完善

1分40秒

如何获取苹果设备的UDID(iPhone/iPad UDID查询方法)

1分12秒

如何快速在手机中查看UDID,无需itunes、itools

1分4秒

苹果怎么查看UDID iPhone/iPad查看UDID教程【详解】

1分4秒

苹果怎么查看UDID iPhoneiPad查看UDID教程【详解】

1分40秒

如何获取苹果设备的UDID(iPhoneiPad UDID查询方法)

1分12秒

如何快速在手机中查看UDID,无需itunes、itools

13分36秒

2.17.广义的雅可比符号jacobi

2分7秒

基于深度强化学习的机械臂位置感知抓取任务

1分31秒

基于GAZEBO 3D动态模拟器下的无人机强化学习

10分2秒

给我一腾讯云轻量应用服务器,借助Harbor给团队搭建私有的Docker镜像中心

31分41秒

【玩转 WordPress】腾讯云serverless搭建WordPress个人博经验分享

领券