为什么我需要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
运行上面的代码,解释器引发警告
您应该要求'minitest / autorun'而不是
答案 0 :(得分:2)
您的代码示例将以NameError结尾:uninitialized constant Minitest
。
您有两种可能性:
test/unit
与Test::Unit::TestCase
或require 'minitest/autorun'
与Minitest::Test
结合使用。 test/unit
,建议使用minitest(MiniTest更快更小)。
如果你切换测试宝石,你必须改变一些东西:
require "test/unit"
替换为require "minitest/autorun"
Test::Unit::TestCase with
替换为Minitest::Test
assert_nothing_raised
(details)assert_raise
变为assert_raises
。您可以使用require 'minitest'
代替require 'minitest/autorun'
- 您将不会遇到语法错误,但也没有测试执行。如果要执行测试,则必须自己调用它们(请参阅minitest-a-test-suite-with-method-level-granularity)