如何在单元测试中重新加载ActiveRecord模型类? (在Ruby on Rails版本1.2.6中)
我有一个单独测试,在单独运行时运行正常,例如rake test:recent RAILS_ENV=test
。
与所有其他单元测试一起运行时,单元测试将失败,例如rake test:units RAILS_ENV=test
。
失败的单元测试与其他模型有很多ActiveRecord关系......在运行失败单元测试之前需要重新加载的模型。我该怎么做?
我找到了解决断言失败的方法,而无需重新加载我的数据模型。测试现在可以单独或一起运行。
答案 0 :(得分:1)
首先,您不应该在测试中使用依赖项,因此这可能是一个错误。在某些情况下,您可能需要在测试中重新加载模型,但每个测试应该完全独立,并且应该使系统处于可接受的一致状态。
默认情况下,单元测试使用的事务系统应该还原您对记录所做的任何更改,因此您不应该在不同的测试方法之间共享数据。
你认为有什么特定的东西可能会有问题吗?