2011-12-07 9 views
6

क्या आरएसपीसी 2 से MiniTest::Spec पर माइग्रेट करने के लिए अनुसरण करने के लिए कोई रणनीति या कदम है? मैं एक बड़ी परियोजना के लिए ऐसा करने पर एक नज़र रखना चाहता हूं लेकिन मुझे यकीन नहीं है कि कहां से शुरू किया जाए।आरएसपीसी से न्यूनतम तक :: माइग्रेट करना?

+0

जब मैंने हाल ही में देखा तो मैं मिनीटेस्ट से बहुत प्रभावित नहीं था; मैंने इस पल के लिए आरएसपीसी के साथ चिपकने का फैसला किया है। उस ने कहा, यदि मिनीटेस्ट आरएसपीसी के साथ प्रतिस्पर्धी होने में सुधार करता है, तो यह एक अच्छा विचार बन सकता है। –

+2

जब तक पिछली टिप्पणी लिखी गई थी, तब से मिनीटास्ट बहुत परिपक्व हो गया है, और अब रेल, नोकोगिरी और कई अन्य लोगों द्वारा इसका उपयोग किया जाता है। –

उत्तर

8

मुझे लगता है कि लंबे समय से, मैं अपने आप को हमारे परीक्षणों में से कुछ से अधिक पोर्टिंग पर काम कर रहा हूँ के लिए MiniTest :: युक्ति उपयोग नहीं किया है, लेकिन यहाँ कुछ चीजें मैं RSpec से आ रही देखा है कर रहे हैं:

  • Matchhers निश्चित रूप से अलग हैं - यह must/wontshould/should_not के बजाय है, और अनुमानित मैचर्स चले गए हैं ताकि आप must_be_true/must_be_false या ऐसा नहीं कह सकें।
  • यह कहा गया है कि, यदि आपने कस्टम आरएसपीसी मैचर्स लिखे हैं, या कंधे-मैचर्स या जैसे उपयोग कर रहे हैं, तो आप उन्हें मिनीटेस्ट के साथ मिनीटेस्ट-मैचर्स मणि के लिए उपयोग करने में सक्षम होना चाहिए। लेकिन वाईएमएमवी।
  • मिनीटेस्ट :: स्पेक context प्रदान नहीं करता है, इसलिए आपको इसे describe या इसके उपनाम में बदलना होगा।
  • मिनीटेस्ट :: स्पेक भी described_class प्रदान नहीं करता है।
  • आपके पास before :all भी नहीं है।
  • subject मैन्युअल रूप से सेट किया जाना चाहिए (मुझे लगता है कि अगर कोई गलत है तो कोई मुझे सही करेगा)।

तो परीक्षण के मौजूदा सूट को पोर्ट करने के संदर्भ में, अपने प्रश्न का उत्तर देने के लिए, मुझे डर है कि आप वास्तव में एक सरल खोज और प्रतिस्थापन नहीं कर सकते हैं, आपको प्रत्येक टेस्ट फ़ाइल पर पोर्ट करना होगा एक वक़्त। जाहिर है, इसका मतलब है कि आपको यह निर्धारित करना है कि प्रयास इसके लायक है या नहीं।

+0

न्यूनतमतम 'विषय {} 'का समर्थन करता है (मुझे लगता है कि इसे शायद मैन्युअल होना चाहिए, लेकिन फिर, मैं हमेशा इसे आरएसपीईसी में स्पष्ट रूप से सेट करता हूं), हालांकि यह' it {}' वाक्यविन्यास के साथ काम नहीं कर रहा है। और इसका अपना प्रकार का अनुमानित मैचर्स है- आपको बस आरएसपीईसी के 'be_valid' के बजाय 'must_be: valid?' करना होगा। –

संबंधित मुद्दे