我最近注意到,如果我的测试子类 Test::Unit::TestCase 在我的测试运行后没有清理我的测试数据库。如果我的测试是 ActiveSupport::TestCase 的子类,则所有内容都已正确清理。
谁能解释为什么,和/或提供使用一个与另一个的解释?
我正在使用 shoulda 和 factory_girl。
谢谢。
我最近注意到,如果我的测试子类 Test::Unit::TestCase 在我的测试运行后没有清理我的测试数据库。如果我的测试是 ActiveSupport::TestCase 的子类,则所有内容都已正确清理。
谁能解释为什么,和/或提供使用一个与另一个的解释?
我正在使用 shoulda 和 factory_girl。
谢谢。
如果你看一下代码,你会发现ActiveSupport::TestCase
有很多用于测试 Rails 的设置和实用功能。旧版本的 Rails 曾经使用Test::Unit::TestCase
很多 mixin,但不久前就转向了子类化。
如果您正在测试 Rails 应用程序,您应该为控制器创建子类ActiveSupport::TestCase
或子类。ActionController:TestCase
生成器会自动执行此操作,因此您大部分时间都不必考虑它。