2012-08-09 16 views
10

का उपयोग करते समय मैं यूनिट परीक्षण जावास्क्रिप्ट के लिए फ़ैंटोमज और जैस्मीन का उपयोग करना चाहता हूं। फैंटोमज की वेबसाइट अनुशंसा करती है कि मैं इसे संभालने के लिए एक अलग चीज़ का उपयोग करता हूं, विशेष रूप से, फैंटोमास्मीन। मैंने फ़ैंटोमास्मीन डाउनलोड किया और उदाहरण चलाया। सब कुछ पूरी तरह से चला गया। मैंने example_spec.js के शीर्ष पर var system = require('system'); लाइन जोड़ा। जब मैं उदाहरण चलाने की कोशिश करता हूं तो फ़ैंटोमज अब एक त्रुटि फेंकता है, मुझे "संदर्भ त्रुटि: चर नहीं मिल सकता: आवश्यकता है"। इसलिए, मैं ब्राउज़र लॉन्च करने जैसी चीजों की ज़रूरत है, लेकिन ऐसा लगता है कि मैं जैस्मीन और फैंटोम्ज सिंटैक्स को गठबंधन नहीं कर सकता। मैं केवल फैंटोमज का उपयोग कर शुद्ध जैस्मीन चला सकता हूं। मैं एक ही फाइल में दोनों का उपयोग कैसे कर सकता हूं? जैसे:फ़ैंटॉमजेएस "चर नहीं ढूंढ सकता: आवश्यकता है" फ़ैंटॉम जैस्मीन

console.log('Loading a web page'); 
var page = new WebPage(); 
var url = "http://www.phantomjs.org/"; 
page.open(url, function (status) { 
    //Page is loaded! 
    describe("A suite", function() { 
     it("contains spec with an expectation", function() { 
     expect(true).toBe(true); 
     }); 
    }); 
    phantom.exit(); 
}); 

उत्तर

4

यह बिल्कुल नहीं है कि आपको इसका उपयोग कैसे करना चाहिए। फैंटोमज को नियंत्रित करने के लिए कोड को चमेली चश्मा और इसके विपरीत के साथ नहीं जोड़ा जाना चाहिए।

आपको अपनी चश्मे को .js फ़ाइलों में अलग करना चाहिए और एक HTML spec धावक के साथ एक मानक जैस्मीन सेटअप बनाना चाहिए जो spec .js फ़ाइलों को लोड करता है और उस HTML फ़ाइल को phantomjs में खोलता है।

एक और समाधान स्वचालित रूप से चमेली चश्मा चलाने के लिए प्रेतोज़ और चमेली के साथ गड़बड़ी का उपयोग करना है।

https://github.com/cowboy/grunt
https://github.com/creynders/grunt-jasmine-task

+0

मैं अपने फाइलों अलग है। मुझे समान त्रुटि मिली। एचटीएमएल फाइल में मेरे हेड टैग की अंदरूनी सामग्री है: <स्क्रिप्ट टाइप = "टेक्स्ट/जावास्क्रिप्ट" src = "फैंटॉम जैस्मीन/कंसोल-रनर.जेएस"> <स्क्रिप्ट टाइप = "टेक्स्ट/जावास्क्रिप्ट" src = "फ़ैंटोमज \ execPage.js "> <स्क्रिप्ट टाइप =" टेक्स्ट/जावास्क्रिप्ट "src =" jazTest1.js "> जहां execPage.js में शुद्ध फ़ैंटोमज कोड होता है, और jaztest1 में शुद्ध जैस्मीन कोड होता है। मैंने ग्रंट में भी देखा। यह सिर्फ एक और था जैस्मीन को प्रेत जेएस के साथ चलाने के लिए था। मुझे यह जानने की ज़रूरत है कि एक दूसरे के साथ जैस्मीन और फैंटोम्ज स्क्रिप्ट कैसे चलाएं। यानी: पृष्ठ पर नेविगेट करें, चमेली को निष्पादित करें। – Hohohodown

+0

मुझे लगता है कि मुझे समस्या बेहतर हो रही है। यहां परिदृश्य है: मेरे पास test.js है जो कुछ चमेली परीक्षण हैं। मैं google.com पर नेविगेट करना चाहता हूं, और यह सुनिश्चित करने के लिए जांच करें कि खोज बार दिखाया गया है। google.com में कोई भी जैस्मीन नहीं है। मैं यह कैसे कर सकता हूँ? – Hohohodown

+0

एचटीएमएल पेज में जैस्मीन लिपि को कॉल करें, न कि फैंटॉमजेएस के माध्यम से। असल में आप इसे ठीक से सेट करते हैं जैसे आप जब जैस्मीन परीक्षण मैन्युअल रूप से चलाने के लिए चाहते हैं और फिर उस HTML पृष्ठ के यूआरएल को इसे कमांड लाइन में चलाने के लिए फ़ैंटॉमजेएस पर पास कर दें। – Creynders

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