Почему мне нужно использовать 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
Запуск вышеуказанного кода, интерпретатор поднимает предупреждение
Вместо этого вы должны потребовать 'minitest/autorun'
1 ответ:
Ваш пример кода закончится на 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(подробности )assert_raiseстановитсяassert_raises.- Возможно, некоторые другие вопросы
Вы можете использовать
require 'minitest'вместоrequire 'minitest/autorun'- Вы не получите синтаксической ошибки, но также нет выполнения теста. Если вы хотите выполнить тесты, вы должны вызвать их самостоятельно (см. minitest-a-test-suite-with-method-level-granularity )