当我单独运行JS功能测试时,它们工作正常。
当我运行测试套件时,它们会失败。
我使用'rspec spec'执行'--bisect'并返回1次产生失败的测试。
规格: https://gist.github.com/lfgdz/c56481ce88cdb80750fa6d98f0ec1a4d
spec_helper: https://gist.github.com/lfgdz/08b1b82d2a36aaf7929af79b04c652c1
答案 0 :(得分:0)
当specs孤立地传递但在一起运行时失败时,必须存在一些相互依赖或在它们之间泄漏的信息。
正如@ slowjack2k所说,你的spec_helper.rb
指定:
config.use_transactional_fixtures = false
根据RSpec Transactions doc,这意味着您已要求RSpec不要在事务中包装每个规范。这意味着在一个规范期间对数据库所做的更改可能会影响其他规范,包括标准单元测试和Capybara功能测试之间。
如果您确实需要关闭事务处理程序,则需要使用database_cleaner或其他一些机制来确保在一个规范中所做的更改不会干扰其他规范。