Raj*_*ish 5 ruby unit-testing rubygems ruby-on-rails minitest
为什么我需要minitest/autorun而不是test/unit生成单元测试
require 'test/unit'
class Brokened
def uh_oh
"I needs fixing"
end
end
class BrokenedTest < Minitest::Test
def test_uh_of
actual = Brokened.new
assert_equal("I'm all better now", actual.uh_oh)
end
end
Run Code Online (Sandbox Code Playgroud)
运行上面的代码,解释器引发警告
你应该要求'minitest/autorun'
您的代码示例将以 NameError: 结尾uninitialized constant Minitest。
你有两种可能:
test/unit结合Test::Unit::TestCase或require 'minitest/autorun'与组合Minitest::Test。test/unit 已弃用,建议使用 minitest(MiniTest 更快更小)。
如果您切换测试 gem,您可能必须更改更多内容:
require "test/unit"为require "minitest/autorun"Test::Unit::TestCase with为Minitest::Testassert_nothing_raised(详情)assert_raise变成assert_raises.你可以require 'minitest'改用require 'minitest/autorun'- 你不会得到语法错误,但也没有测试执行。如果你想执行测试,你必须自己调用它们(参见minitest-a-test-suite-with-method-level-granularity)