RSpec控制器测试不会引发错误

时间:2017-03-15 11:40:50

标签: ruby-on-rails testing rspec tdd

我刚注意到奇怪的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 个答案:

答案 0 :(得分:1)

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