12

我最近注意到,如果我的测试子类 Test::Unit::TestCase 在我的测试运行后没有清理我的测试数据库。如果我的测试是 ActiveSupport::TestCase 的子类,则所有内容都已正确清理。

谁能解释为什么,和/或提供使用一个与另一个的解释?

我正在使用 shoulda 和 factory_girl。

谢谢。

4

1 回答 1

19

如果你看一下代码,你会发现ActiveSupport::TestCase有很多用于测试 Rails 的设置和实用功能。旧版本的 Rails 曾经使用Test::Unit::TestCase很多 mixin,但不久前就转向了子类化。

如果您正在测试 Rails 应用程序,您应该为控制器创建子类ActiveSupport::TestCase或子类。ActionController:TestCase生成器会自动执行此操作,因此您大部分时间都不必考虑它。

于 2010-01-18T07:50:35.973 回答