2012-01-30 16 views
7

मैंने एनपीएम का उपयोग करके जैस्मीन-नोड स्थापित किया है। मेरे परियोजना की निर्देशिका संरचना निम्नलिखित हैं:क्यों चमेली-नोड मेरी spec फ़ाइलों को नहीं मिला है?

|-lib\ 
    |-taxCalc.js 
|-spec\ 
    |-taxCalc.spec.coffee 
    |-taxCalc.spec.js 
|-src\ 
    |-taxCalc.coffee 

जब मैं (CoffeeScript के लिए) आदेश के बाद के साथ रूट फ़ोल्डर से चमेली नोड चलाएँ:

jasmine-node --coffee --verbose spec 

Finished in 0.015 seconds 
0 tests, 0 assertions, 0 failures 

एक ही अगर मैं जावास्क्रिप्ट संस्करण को चलाने के।

मैं स्पष्ट रूप से फ़ाइल परीक्षण विशिष्ट जानकारी के अनुसार इंगित करते हैं ठीक चलाएँ:

jasmine-node --coffee --verbose spec/taxCalc.spec.coffee 

Tax calculation 
    calculates tax 

Finished in 0.009 seconds 
1 test, 1 assertion, 0 failures 

प्रलेखन का कहना है कि फ़ाइल नाम 'spec.js' या 'spec.coffee' के साथ समाप्त करना चाहिए, ताकि सब कुछ ठीक लगता है।

पीएस मैं विंडोज 7 पर चल रहा हूं।

+0

मुझे पता है कि केवल एक चीज यह है कि विंडोज़ को नोड.जेएस में पथों को अलग-अलग संभालने की आवश्यकता होती है। Exmpl; "सी:/ब्लै" को "सी: \/ब्लै" होना चाहिए। यह हो सकता है कि चमेली का देव खिड़कियों पर परीक्षण नहीं कर रहा है .. – japrescott

+0

विचार के लिए धन्यवाद - यदि मैं विंडोज विशिष्ट पथ पाता हूं तो मैं जैस्मीन-नोड में उपयोग किए गए रेगेक्स का परीक्षण करने की कोशिश करूंगा। – marisks

+0

मुझे विंडोज़ में एक प्रोजेक्ट मिला है जो आपके समान संरचना है लेकिन मैं आपकी समस्या में नहीं चल रहा हूं। यदि आप अधिक स्पष्ट हैं कि spec एक निर्देशिका है तो यह एक फर्क पड़ता है: '' 'jasmine-node --coffee --verbose। \ Spec \' ''? –

उत्तर

2

एक ही समस्या पर ठोकर खाई और मैरीस्क लिंक बहुत देर से पढ़ा है:/- लेकिन इस मुद्दे में वर्णित एक ही निष्कर्ष पर आया: कम से कम विंडोज 7 पर, file.stat.ino हमेशा 0 देता है, इसलिए फ़ंक्शन createInodeChecker() findit/index.js में हमेशा सत्य होता है और फ़ाइल छोड़ दी जाएगी।

सबसे आसान ऑन-द-फ्लाई ठीक: संपादित

function createInodeChecker() { 
    var inodes = {}; 
    return function inodeSeen(inode) { 
     if (inode == 0) { 
      return false; 
     } 

     if (inodes[inode]) { 
      return true; 
     } else { 
      inodes[inode] = true; 
      return false; 
     } 
    } 
} 

अच्छा नहीं करने के लिए createInodeChecker, लेकिन आप इसके साथ काम कर सकते हैं।

+0

इसका परीक्षण किया। यह बढ़िया काम करता है! मैंने "findit" के लिए अपना समाधान भी सुझाया: https://github.com/substack/node-findit/issues/5 – marisks

3

पिछले सप्ताह में जैस्मीन-नोड को अद्यतन के बजाय वॉकीडिर का उपयोग करने के लिए अपडेट किया गया है जो अब इसे विंडोज़ में काम करता है। अद्यतन के लिए npm install jasmine-node पुन: चलाएं।

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