我最近注意到如果我的测试子类 Test::Unit::TestCase,我的测试数据库在我的测试运行后没有被清理。如果我的测试子类 ActiveSupport::TestCase,一切都被正确清理。

任何人都可以解释原因,和/或提供使用一种与另一种的解释吗?

我正在使用 shoulda 和 factory_girl。

谢谢。

最佳答案

如果你 take a look at the code ,你会看到 ActiveSupport::TestCase 有很多用于测试 Rails 的设置和实用功能。旧版本的 Rails 曾经使用 Test::Unit::TestCase 和很多 mixin,但不久前转向了子类化。

如果您正在测试 Rails 应用程序,您应该为 Controller 子类 ActiveSupport::TestCaseActionController:TestCase。生成器会自动执行此操作,因此大多数时候您不必考虑它。

关于ruby-on-rails - ActiveSupport::TestCase vs Test::Unit::TestCase 当单元测试 rails,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2084539/

10-13 06:43