minitest, test :: unit и rails

Я где-то читал, что minitest - это «новый тест :: модуль для ruby 1.9.2 +».

Но рубин 1.9.3, кажется, включает в себяи то и друго test :: блок а такж MiniTest, это правда

В тестировании рельсов по умолчанию, как указано в Руководство по тестированию.... вещи какActiveSupport::TestCase, ActionController::TestCase, они используютTest::Unit илиMinitest?

В руководстве по рельсам показаны примеры с тестами, определенными следующим образом:

<code>test "should show post" do
  get :show, :id => @post.id
  assert_response :success
end
</code>

Синтаксисtest string, в отличие от определения методов с такими именами, какtest_something - не упоминается в документах дляил Test::Unit или Минитест. Откуда это? Rails добавляет его, или это на самом деле часть ... того, что использует lib rails для тестирования?

PS: Пожалуйста, не говорите мне «просто используйте rspec». Я знаю о rspec. Я пытаюсь исследовать альтернативы stdlib в контексте rails.

Ответы на вопрос(2)

Test::Unit модуль «совместимости», который поставляется с Minitest, так что вы можете (предположительно) использовать существующие тестовые тестовые модули как есть. Это, вероятно,Test::Unit модуль, который вы видите.

Как на рельсах 3.2.3, тесты, созданные генератором, включаютrails/test_help который включает в себяtest/unit.

Thetest "something" doинтаксис @ - это расширение рельсов. Это определено вActiveSupport::Testing::Declarative, которыйrequire дrails/test_help.

возможно, немного тангенциальный ответ, но что касается вашего комментария по rspec ... Возможно, вы захотите взглянуть наminitest/spec который обеспечивает синтаксис спецификации спецификации в stdlib в 1.9.x.

http: //bfts.rubyforge.org/minitest/MiniTest/Spec.htm

ВАШ ОТВЕТ НА ВОПРОС