我昨天刚开始一个新项目,我遇到了很多非常奇怪的事务性固定问题。这听起来像是 Rails 的一个问题,所以我希望 StackOverflow 可以提供帮助。这是纲要。
同事可以很好地运行测试。他们正在运行 Mac OS X;我正在运行 Ubuntu。
use_transactional_fixtures
什么时候true
,很多测试都失败了can't find [record] with ID=[some-id]
。我的同事在这种模式下运行,但没有遇到任何问题。如果我设置
use_transactional_fixtures
为false
,几乎所有以前失败的测试都会再次通过。我的同事看不出有什么不同,只是测试运行速度稍慢,因为不再使用事务。当测试单独
rake spec SPEC=spec/some-specific-spec.rb
运行false
时(当测试一起
rake spec
运行false
时(这两个测试没有任何明显的关系。有很多测试(超过 5,000 次),因此可能会发生巧合似乎并不令人惊讶。
你会从这种情况中得出什么推论,你将如何解决它?