21

के अंदर एक डमी ऐप कैसे उत्पन्न करें, मैं हाल ही में एक कंपनी के लिए काम करने आया हूं जो थोड़ी देर के लिए एक विशिष्ट रेल परियोजना पर काम कर रहा है। विकास प्रक्रिया के बीच में गिराए गए, मैं वापस जाने और मौजूदा कोड के साथ-साथ वर्तमान में उत्पादित कोड के लिए परीक्षण लिखना शुरू कर रहा हूं। रेल 4 एप का परीक्षण करना काफी आसान था, लेकिन एक बार जब मुझे इंजन का परीक्षण करना पड़ा, तो मैंने एक मानसिक ब्लॉक मारा। मेरी सावधानी बरतने के बाद, मैंने पाया कि ज्यादातर लोग इस तरह के दृष्टिकोण (http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl) लेते हैं, लेकिन इन सभी प्रतिक्रियाओं में मैंने देखा था कि आम धागा यह था कि लोग इन ऐप्स को खरोंच से बना रहे थे, और इस प्रकार उनके लिए एक डमी ऐप उत्पन्न हुआ था खुद ब खुद। मुझे स्क्रैच से सबकुछ उत्पन्न करने में सक्षम होने का लाभ नहीं है, और मुझे जो कुछ दिया गया था उसके साथ काम करना है, इसलिए मैं जानना चाहता हूं कि अगर को डमी एप्लिकेशन उत्पन्न करने का कोई तरीका है। क्या कंसोल में टाइप करने के लिए कुछ आसान है और क्या यह मेरे लिए उत्पन्न हुआ है? या क्या एक लंबा, थोड़ा कम सुंदर मार्ग है? या एक अलग रणनीति पूरी तरह से बेहतर होगा?पहले से मौजूद मौजूदा रेल इंजन

+0

आप किसी भी ऐप को 'spec/dummy' में डाल सकते हैं, यह आपके इंजन के लिए बस माउंट पॉइंट है, बस' रेल नई टेस्ट_एपी 'उत्पन्न करें और' test_app' को डमी फ़ोल्डर में कॉपी करें। –

+0

आपको डमी ऐप की आवश्यकता क्यों है? क्या आप मुख्य ऐप का उपयोग कर इंजन का परीक्षण नहीं कर सकते? – Jwan622

उत्तर

32

यह देखते हुए कि डमी एप्लिकेशन कुछ अस्पष्ट नाम के अलावा माता-पिता मणि से बंधा होना चाहिए नहीं है, यह है कि हो सकता है:

cd some_path_where_your_engine_IS_NOT 
rails plugin new YOUR_ENGINE_NAME --mountable --dummy-path=spec/dummy --skip-test-unit 
mv YOUR_ENGINE_NAME/spec/dummy /real/path/to/YOUR_ENGINE_NAME/spec 
rm -rf YOUR_ENGINE_NAME # cleanup useless cruft 

इसके अलावा, आप this answer उत्पन्न करने के लिए दिलचस्पी हो सकती है सटीक समान रेल संस्करण के साथ ऐप।

+0

'rails' कमांड के पहले विकल्प के रूप में' _VERSION_' का उपयोग करके एक रेल संस्करण निर्दिष्ट करें। उदाहरण के लिए, रेल 5.0.1 का उपयोग करने के लिए: 'रेल _5.0.1_ प्लगइन नया YOUR_ENGINE_NAME - माउंट करने योग्य - डमी-पथ = spec/dummy --skip-test-unit' –

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