我刚注意到奇怪的Rspec行为。我想知道这是Rspec的错误还是我的测试方法不正确。
我有这个控制器测试(我剪掉了不必要的部分):
describe 'GET #new' do
def get_new(group_id = nil)
get :new, group_id: group_id
end
context 'with logged in user' do
context 'with group_id' do
let(:group) { create(:group) }
before { get_new(group.to_param)}
it 'renders correct template' do
expect(response).to render_template(:new)
end
it 'returns success' do
expect(response).to be_success
end
end
end
end
这是我长时间测试控制器的方式,考虑检查模板和响应代码足以确保控制器呈现实际页面。
但是现在,在页面上调整表单,我在此操作中出错,我可以在浏览器中清楚地看到: 但我刚刚发现这两个测试都通过,实际上存在这个错误。
我做错了什么以及如何在我的规范中检查此错误?
答案 0 :(得分:1)
您的错误来自您的视图,但默认情况下,RSpec中的控制器测试不会呈现视图。您可以使用rspec-rails
的{{3}}方法强制您的控制器规范呈现视图。