我目前正在从Rails 4.2升级到Rails 5.0,并设法修复/更新了除一堆rspec测试之外的大多数内容。
[当我使用rspec spec/
或rake parallel:spec
运行套件时,出现间歇性的测试失败,类似于:
在测试失败之前打印Rails.application.routes.url_helpers
,并且没有路由。
这主要位于我的helpers&mailers文件夹中。当我用rspec spec/helpers
运行助手时,它们全部通过。非常奇怪,因为其中一些具有路由路径的帮助程序通过而另一些则没有。
看来,https://github.com/rspec/rspec-rails/issues/1644,rails-controller-testing
不是问题。 This完全没有帮助。
我正在使用
我花了很多时间在此上,终于找到了罪魁祸首。我首先从specs/
文件夹中一个文件夹中删除了一个文件夹,然后让--format documentation
缩减为一个文件,当该文件在套件中的helpers
之前执行时,它崩溃了。
那个旧测试有
before(:each) do
routes.draw { get 'search' => 'warden#search' }
end
并通过添加进行固定
after do
Rails.application.reload_routes!
end
我最终改变了整个测试,最终只是为了摆脱reload_routes!
,因为它似乎更像是一种破解而不是修复。