2012-05-13 7 views
27

मैंने कहीं पढ़ा है कि 'मिनीटेस्ट' रूबी 1.9.2+ के लिए "नया परीक्षण :: इकाई" है।न्यूनतम, परीक्षण :: इकाई, और रेल

लेकिन रूबी 1.9.3 शामिल करने के लिए लगता है दोनोंtest::unitऔरminitest, यह सच है?

डिफ़ॉल्ट रेल परीक्षण में, ActiveSupport::TestCase तरह Rails testing guide .... बातों में बताया गया है, ActionController::TestCase, इन Test::Unit या Minitest उपयोग कर रहे हैं?

रेल गाइड में, इसे इस तरह परिभाषित किया गया परीक्षण के साथ उदाहरण दिखाता है:

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

कि वाक्य रचना, test string, के रूप में test_something जैसे नामों के साथ तरीकों को परिभाषित करने के लिए विरोध - के लिये दस्तावेज में उल्लेख नहीं है या तोTest::Unit या न्यूनतम। वह कहाँ से आ रहा है? रेल इसे जोड़ रहा है, या यह वास्तव में इसका एक हिस्सा है ... जो भी परीक्षण lib रेल का उपयोग कर रहा है?

पीएस: कृपया मुझे बताएं "बस आरएसपीईसी का उपयोग करें"। मैं rspec के बारे में पता है। मैं रेल के संदर्भ में stdlib विकल्पों का पता लगाने की कोशिश कर रहा हूं।

उत्तर

16

एक Test::Unit "संगतता" मॉड्यूल है जो मिनीटेस्ट के साथ आता है, ताकि आप अपने मौजूदा टेस्ट :: यूनिट परीक्षणों का उपयोग कर सकें (संभवतः)। यह शायद Test::Unit मॉड्यूल है जिसे आप देख रहे हैं।

रेल के रूप में 3.2.3, जेनरेटर-निर्मित परीक्षणों में rails/test_help शामिल है जिसमें test/unit शामिल है।

test "something" do वाक्यविन्यास एक रेल एक्सटेंशन है। इसे ActiveSupport::Testing::Declarative में परिभाषित किया गया है, जो require 'डी rails/test_help है।

+3

"संगतता" मोड एक मजाक है - वे ज़ोर * समारोह नामकरण सम्मेलनों मिलान परेशान नहीं है और यह सिर्फ वहाँ से ढलान चला जाता है। –

5

यह शायद एक स्पर्शिक प्रतिक्रिया का थोड़ा सा है, लेकिन आपकी आरएसपीईसी टिप्पणी के रूप में ... आप minitest/spec पर एक नज़र डालना चाहते हैं जो 1.9.x में stdlib में spec स्वाद सिंटैक्स प्रदान करता है।

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