2017-03-15 33 views
0

我只注意到奇怪的Rspec行为。我不知道这是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 

这是我一直在测试控制器很长一段时间,考虑核对模板和响应代码的方式就足以让肯定控制器呈现实际页面。 browser error 但是,我才发现,原来这两个测试都通过了,而事实上有这样的错误:

然而现在,在页面上调整的形式,我在这个动作,我可以在浏览器中清楚地看到得到一个错误。

我在做什么错,我如何检查我的规范中的这个错误?

回答

1

您的错误来自您的视图,但默认情况下,RSpec中的控制器测试不会呈现视图。您可以使用rspec-railsrender_views方法强制您的控制器规范渲染视图。

+0

是的,你是对的 – borisano