ruby-on-rails – 如何使用rspec测试控制器方法?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何使用rspec测试控制器方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试学习rspec.我似乎无法测试轨道控制器的方法.当我在测试中调用方法时,rspec只是返回一个未定义的方法错误.这是我的测试例子
it 'should return 99 if large' do
  GamesController.testme(1000).should == 99
end

这里是错误

Failure/Error: GamesController.testme(1000).should == 99
 NoMethodError:
   undefined method `testme' for GamesController:Class

我在GamesController中有一个测试方法.我不明白为什么测试代码看不到我的方法.

任何帮助是赞赏.

解决方法

我认为正确的方法是这样的:
describe GamesController do
  it 'should return 99 if large' do
    controller.testme(1000).should == 99
  end
end

在rails控制器规范中,当将controller类放在describe中时,可以使用controller方法获取一个实例:P显然,如果testme方法是私有的,你仍然需要使用controller.send:testme

猜你在找的Ruby相关文章