我的rspec测试已经开始抛出错误
ActionView::MissingTemplate:
e.g。 Missing template users/index
./spec/controllers/users_controller_spec.rb
这些模板肯定存在。
经过大量调试后,我将其追溯到另一个正在测试信誉/积分系统的控制器规范。因为声誉适用于各种控制器和操作,所以我将每个规范设置如下:
#./spec/controllers/reputation_rules_spec.rb
describe 'Reputation Rules', type: :controller do
describe "update user" do
before :each do
@controller = UsersController.new
end
it 'tests that reputation is adjusted'
end
describe "tests reptation on other controller/action combinations"....
end
如果我注释掉@controller
行,missing template
错误就会消失,但当然声誉规范也会失败。
为什么此@controller
行会影响当前规范之外的测试?
我需要在测试后以某种方式重置@controller
,还是我做错了什么?
答案 0 :(得分:0)
我通过添加
解决了这个问题#./spec/controllers/reputation_rules_spec.rb
after :all do
@controller = nil
end
但仍不清楚为什么@controller
会持续进入其他测试