我有两个问题。第一个是基本的。MiniTest 是 UnitTest 的直接替代品。所以如果你在 rails 中使用生成器,你会得到一堆 ActiveSupport::TestCase 类。如果您使用 minitest(没有 minitest-spec-rails),那么您可以这样做
1.must_equal 1
# instead of
assert_equal 1, 1
正确的?所以我很困惑为什么有一个 MiniTest::Unit::TestCase 类,如 railscast #327 (pro episode paywall sry)中所述。查看我实际使用的测试套件时会感到困惑。如果 minitest 是一个替代品,那么我正在使用 minitest 来执行 testunit 风格的 rails 测试。如果我把它拿出来,我正在使用 testunit 来运行 testunit 测试?
所以假设我正在使用 MiniTest 来运行 TestUnit 风格的测试。
require 'test_helper'
class FooTest < ActiveSupport::TestCase
end
在观看了 destroyallsoftware 关于提取域对象的截屏视频后,我受到了启发。他提出了一些关于避免加载 test_helper.rb 以加速测试套件而不使用 spork 诡计的好点(这正是我所做的)。但是,当我从上面给我 ActiveSupport::TestCase 时,我怎样才能避免加载 test_helper.rb 呢?
你不能用 MiniTest 或 TestUnit 提取域对象并将它们放入 lib/ 或 extras/ 中吗?