2012-06-13 22 views
10

मैं जैस्मीन परीक्षण से मोचा परीक्षणों में कनवर्ट करना चाहता हूं क्योंकि इसकी (पहले), इसकी रिपोर्टिंग क्षमताओं और कॉफ़ीस्क्रिप्ट के लिए इसका समर्थन करने की क्षमता है।मोचा-संगत फिक्स्चर

एक बात मैं ढूँढने में सक्षम नहीं किया गया है कि क्या मोचा (या एक संगत अभिकथन पुस्तकालय के साथ संयोजन के रूप में) चमेली-jQuery करता है (https://github.com/velesin/jasmine-jquery) की तरह जुड़नार समर्थन करता है। क्या मोचा के लिए ऐसी कार्यक्षमता मौजूद है?

मैं कुछ इन-ब्राउज़र कोड का परीक्षण करने की कोशिश कर रहा हूं (इसलिए मैं इसे HTML परीक्षण धावक के साथ चलाऊंगा) जो डोम का उपयोग करता है। मैं ज़ोंबीज का उपयोग नहीं करना चाहता क्योंकि मैं इसे उस पर्यावरण के भीतर चलाने के लिए पसंद करूंगा जिसमें मैं परीक्षण कर रहा हूं।

संपादित करें: केवल समाधान के लिए, समाधान के दौरान खोज करते समय, मैं ग्रंट + मोचा का उपयोग करके आया phantomjs कार्यान्वयन। यह मेरे मामले के लिए भी काम नहीं करता है क्योंकि मैं वेबकिट के कस्टम संस्करण का उपयोग करना चाहता हूं।

उत्तर

10

जो मैं समझने में सक्षम हूं, जवाब नहीं है। यह शायद इस तथ्य के कारण है कि मोचा पहले नोड.जे.एस. का समर्थन करने के लिए था। नोड में, जैस्मीन-jquery में फिक्स्चर की धारणा मौजूद नहीं है क्योंकि एक डोम/ब्राउज़र मौजूद नहीं है।

जैस्मीन-jquery प्लगइन के लिए फिक्स्चर समर्थन को देखते हुए, मुझे अब एहसास है कि इस कार्यक्षमता को स्वयं बनाना इतना कठिन नहीं हो सकता है। बुनियादी तंत्र डीओएम को बाहरी टेम्पलेट जोड़ने के लिए jQuery का उपयोग करना है, जबकि इसके संदर्भ को बनाए रखना ताकि क्लीनअप और कैशिंग संभव हो।

मैं अगर मैं GitHub

संपादित करें पर कुछ को रिहा करने का फैसला इस जवाब अपडेट कर देगा: यहाँ यह है - https://github.com/badunk/js-fixtures। कोड और चश्मा अनिवार्य रूप से जैस्मीन-jquery से निर्भरता के साथ हटा दिया गया था।

+0

क्या जेएस-फिक्स्चर जेएसओएन लोडिंग को दोहराता है, जैसे जैस्मीन-जेक्वायरी में 'getJSONFixture()'? –

+0

नहीं, जो वर्तमान में समर्थित नहीं है - मैं इसे एक वृद्धि के रूप में देखूंगा। पीआर का स्वागत है: https://github.com/badunk/js-fixtures/issues/12 – badunk

+0

क्या यह अभी भी मामला है? मोचा में सेटअप और टियरडाउन फ़ंक्शन हैं और वे ब्राउज़र में चल रहे परीक्षणों का समर्थन करते हैं। – Indolering

0

क्या आपने zombie.js को आजमाया है? यह एनपीएम के साथ स्थापित करता है और ढांचे का परीक्षण करने के लिए अज्ञात लगता है।

इसने मुझे एक पूरी तरह से काम करने वाली विंडो ऑब्जेक्ट दिया जो मैं jQuery के साथ सजाने सकता था।

Browser = require 'zombie' 

browser = new Browser() 
global.window = browser.window 
require '../src/js/vendor/jquery-1.7.1.min.js' 

अद्यतन:

मैं इस समस्या पर दोबारा गौर किया है और यह jQuery + jsdom (NPM के माध्यम से) की तरह दिखता है एक और अधिक लोकप्रिय और हल्के समाधान होने लगते हैं। उदाहरण: http://www.netboy.pl/2012/10/testing-jquery-code-with-mocha-chai-and-jsdom/

+0

लिंक अब काम नहीं करता है। – CodingWithSpike

+0

जेएसडीओएम और ज़ोंबी थोड़ा समस्याग्रस्त हैं। उदाहरण के लिए, 'क्लासलिस्ट', 'डेटासेट' के लिए कोई समर्थन नहीं, और अन्य चीजों का एक गुच्छा जिसे मैं उपयोग करना चाहता था। लगता है कि मैं इसके साथ phantomjs पर वापस जा रहा हूँ। –

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