2012-05-13 28 views
27

「minitest」が「ruby 1.9.2 +の新しいテスト::ユニット」であると読んでいます。minitest、test :: unit、and rails

しかし、ルビー1.9.3が両方test::unitminitestを含めるように見える、それは本当ですか? Rails testing guideに概説されているデフォルトのレールのテストで

、... ActiveSupport::TestCaseActionController::TestCaseのようなものは、これらTest::UnitまたはMinitestを使用していますか?

レールガイドの

、それは次のように定義された試験と例を示します。

test "should show post" do 
    get :show, :id => @post.id 
    assert_response :success 
end 
test_somethingような名前のメソッドを定義するとは対照的に、すなわち構文、 test stringは、

からためのドキュメントに記載されていませんTest::UnitまたはMinitestのいずれかです。それはどこから来ていますか? Railsはそれを追加していますか、実際にはlibのテスト用ライブラリが使用しているものはどれですか?

PS:「ちょうどrspecを使用してください」と教えてください。私はrspecについて知っています。私はレールの文脈で、stdlibの代替案を探そうとしています。

答えて

16

Minitestに付属するTest::Unit "互換性"モジュールがありますので、そのままあなたの既存のTest :: Unitテストをそのまま使用することができます。これはおそらくあなたが見ているTest::Unitモジュールです。

レール3.2.3では、発電機で作成されたテストには、test/unitを含むrails/test_helpが含まれています。

test "something" doの構文はレール拡張です。これは、ActiveSupport::Testing::Declarativeで定義されており、require 'によってrails/test_helpであります。

+3

「compatiblity」モードは冗談です - *彼らがアサートを一致気にしない機能の命名規則とそれだけでそこから下り坂になります。 –

関連する問題