为什么我需要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
最佳答案
您的代码示例将以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::Test
assert_nothing_raised
(details)assert_raise
变为assert_raises
。 您可以使用
require 'minitest'
代替require 'minitest/autorun'
-您不会收到语法错误,但是也没有测试执行。如果要执行测试,则必须自己调用它们(请参阅minitest-a-test-suite-with-method-level-granularity)关于ruby-on-rails - 为什么需要使用minitest/autorun?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34318345/