2014-11-10 7 views
6

मैं सामान्य रूप से सेल, नोड और जेएस के लिए बिल्कुल नया हूं इसलिए मुझे कुछ स्पष्ट याद आ रही है।Sails.js: वास्तव में परीक्षण कैसे चलाएं

मैं सेल 0.10.5 और नोड 0.10.33 का उपयोग कर रहा हूं।

sails.js दस्तावेज में http://sailsjs.org/#/documentation/concepts/Testing परीक्षणों के बारे में एक पृष्ठ है, लेकिन यह मुझे नहीं बताता कि वास्तव में उन्हें कैसे चलाया जाए।

मैंने उस दस्तावेज़ीकरण के अनुसार निर्देशिकाएं सेट की हैं, परीक्षण/इकाई/नियंत्रक/RoomController.test.js नामक एक परीक्षण जोड़ा गया है और अब मैं इसे चलाने के लिए चाहता हूं।

कोई 'सेल परीक्षण' कमांड या कुछ भी समान नहीं है। मुझे कोई कार्य जोड़ने के तरीके पर कोई संकेत नहीं मिला, इसलिए 'सेल लिफ्ट' से पहले परीक्षण हमेशा चलाए जाते हैं।

उत्तर

4

we.js में अपने परीक्षण संरचना देखें: https://github.com/wejs/we-example/tree/master/test

आप कॉपी और आप sails.js अनुप्रयोग में पेस्ट करें और प्लगइन bootstrap.js

में सुविधा

we.js हटाने और तुम पैकेज को बदल सकते हैं .json NPM परीक्षण में सेट सही मोचा आदेश का उपयोग करने के लिए:: https://github.com/wejs/we-example/blob/master/package.json#L10

- - संपादित

मैं एक साधारण sails.js 0.10.x परीक्षण उदाहरण बनाया है, में देखते हैं

+1

बहुत बहुत धन्यवाद। अब मैं परीक्षण चलाने के लिए 'npm test' का उपयोग कर सकता हूं। – kvbx

1

यह देखते हुए कि वे विशेष निर्देश नहीं देते और कहा कि वे मोचा उपयोग करते हैं, मैं उम्मीद थी कि कमांड लाइन से mocha चल रहा है, जबकि आप test की माता पिता निर्देशिका में हैं काम करेगा।

1

सेल मोचा को डिफ़ॉल्ट परीक्षण ढांचे के रूप में उपयोग करता है। लेकिन सेल स्वयं परीक्षण परीक्षण को संभाल नहीं लेते हैं।

तो आपको इसे mocha कमांड का उपयोग करके मैन्युअल रूप से चलाने की ज़रूरत है।

लेकिन एक लेख है कि सभी सेल सामानों को परीक्षणों में कैसे शामिल किया जाए। http://sailsjs.org/#/documentation/concepts/Testing

6

अद्यतन-2: कितना इकाई परीक्षण इस तरह से चलाने के लिए ले जाता है के साथ एक Lil बिट संघर्ष करने के बाद, मैं मॉडल लोड और उन्हें सिर्फ पाल करता है, लेकिन बिना के रूप में वैश्विक में बदलने के लिए एक मॉड्यूल बनाने का फैसला किया बहुत लेना यहां तक ​​कि जब आप प्रत्येक हुक को बाहर निकालते हैं, लेकिन मशीन के आधार पर ओआरएम लोडर भी आसानी से किसी भी परीक्षण के बिना कुछ सेकंड ले सकता है! और जैसे ही आप मॉडल जोड़ते हैं, यह धीमा हो जाता है, इसलिए मैंने waterline-loader नामक इस मॉड्यूल को बनाया ताकि आप लोड कर सकें सिर्फ मूल बातें (इसके 10x के बारे में तेजी से), मॉड्यूल स्थिर नहीं है और परीक्षण की जरूरत है, लेकिन आप इसे उपयोग करने के लिए या इसे संशोधित आपकी आवश्यकताओं के अनुरूप, या मुझे बाहर करने में मदद इसे यहाँ सुधार करने के लिए स्वागत कर रहे हैं ->https://github.com/Zaggen/waterline-loader


अद्यतन-1: मैं docsके तहत चल रहा है परीक्षण अनुभाग के लिए मोचा के साथ अपने परीक्षण चलाने से संबंधित जानकारी जोड़ दिया है।


दूसरों ने जो कहा है उस पर विस्तार करने के लिए (विशेष रूप से अल्बर्टो सूजा ने क्या कहा)।

आपको मोचा के साथ काम करने के लिए मोचा काम करने के लिए दो चरणों की आवश्यकता है। सबसे पहले, जैसा कि sails.js Docs में बताया गया है, आपको अपना परीक्षण चलाने से पहले सर्वर को उठाना होगा, और ऐसा करने के लिए, आप रूट पथ (वैकल्पिक) में bootstrap.test.js (जिसे आप पसंद करते हैं उसे भी कहा जा सकता है) नामक एक फ़ाइल बनाते हैं। आपके परीक्षण (test/bootstrap.test.js) जिन्हें पहले मोचा द्वारा बुलाया जाएगा, और फिर यह आपकी टेस्ट फाइलों को कॉल करेगा।

var Sails = require('sails'), 
    sails; 

before(function(done) { 
    Sails.lift({ 
    // configuration for testing purposes 
    }, function(err, server) { 
    sails = server; 
    if (err) return done(err); 
    // here you can load fixtures, etc. 
    done(err, sails); 
    }); 
}); 

after(function(done) { 
    // here you can clear fixtures, etc. 
    sails.lower(done); 
}); 

अब आप अपने package.json में, लिपियों कुंजी पर, इस लाइन (टिप्पणियों पर ध्यान न दें)

// package.json .... 
scripts": { 
    // Some config 
    "test": "mocha test/bootstrap.test.js test/**/*.test.js" 
    }, 
// More config 

यह bootstrap.test.js फ़ाइल लोड होगा, जोड़ने के अपने पाल सर्वर उठा, और उसके बाद आपके सभी परीक्षण चलाते हैं जो 'testname.test.js' प्रारूप का उपयोग करते हैं, तो आप इसे '.spec.js' में बदल सकते हैं यदि आप चाहें।

अब आप अपना परीक्षण चलाने के लिए npm test का उपयोग कर सकते हैं।

नोट है कि आप अपने package.json को संशोधित करने, और अपने आदेश पंक्ति

पीएसटी में mocha test/bootstrap.test.js test/**/*.test.js typying बिना एक ही बात कर सकता है: bootstrap.test.js के एक अधिक विस्तृत विन्यास के लिए जाँच अल्बर्टो सूजा उत्तर दें या सीधे इस file हिस्ट जिथब रेपो

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