ruby-on-rails - RSpec Controller 测试未引发错误

标签 ruby-on-rails testing rspec tdd

我刚刚注意到奇怪的 Rspec 行为。不知道是Rspec的错误还是我测试的方法不对。

我有这个 Controller 测试(我剪掉了不必要的部分):

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

这是我长期以来一直在测试 Controller 的方式,考虑到检查模板和响应代码足以确保 Controller 呈现实际页面。

但是现在,在页面上调整表单时,我在这个操作中遇到了一个错误,我可以在浏览器中清楚地看到: browser error 但是我刚刚发现这两个测试都通过了,而实际上却存在这个错误。

我做错了什么以及如何在我的规范中检查此错误?

最佳答案

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

关于ruby-on-rails - RSpec Controller 测试未引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42808730/

相关文章:

javascript - Rails : After input, 显示差异

ruby-on-rails - rails 3 中的值没有更新

testing - Cypress - cmd 运行的不可见元素

python - Django REST 框架 : AttributeError: object has no attribute 'serializer'

ruby-on-rails - 使用 FactoryGirl 测试简单的 STI

ruby-on-rails - Rails 初始化程序(使用 JRuby、Puma)at_exit 偶尔不执行

ruby-on-rails - 在 Rails 中自动填写表单字段?

eclipse - 在 Eclipse 中,如何从另一个具有依赖项的项目中排除一个 Maven 项目的测试文件夹?

ruby-on-rails - 重定向的 RSpec 测试返回 200

ruby-on-rails - 使用 rspec 测试 oauth2 get_token