2016-11-17 7 views
10

पर स्थिर रूप से जांच करने के लिए फ्लो टाइप का उपयोग करके मेरे पास कुछ जटिल मोचा कोड है जो मैं फ्लोटाइप के साथ स्थिर रूप से जांचना चाहता हूं क्योंकि क्यों नहीं?मोटा परीक्षण कोड

/* @flow */ 

describe('it', function() { 
    it('fails', function() { 
     const s: number = 'flow spots this error'; 
    }); 
}); 

जब मैं इस पर फ्लो चलाने के लिए, प्रवाह वास्तव में समस्या number को string का काम जो दिखाता है कि दृष्टिकोण कुछ करने के लिए काम कर रहा है विस्तार के साथ स्पॉट करता है:

नीचे एक न्यूनतम रेप्रो है।

हालांकि, मैं भी मिलता है:

test/test.js:4 
    4: describe('it', function() { 
    ^^^^^^^^ identifier `describe`. Could not resolve name 

test/test.js:5 
    5:  it('fails', function() { 
     ^^ identifier `it`. Could not resolve name 

है & hellip; स्पष्ट रूप से मोचा परीक्षण परिभाषाएं ऐसे माहौल में चलती हैं जहां ये कार्य विश्व स्तर पर उपलब्ध हैं लेकिन परीक्षण फ़ाइल को देखते हुए वहां कुछ भी नहीं है जो प्रवाह को पहचानने की अनुमति देगा।

मुझे यकीन है कि इन समस्याओं मोचा के लिए विशिष्ट हैं नहीं कर रहा हूँ, लेकिन मैं नहीं लग रहा है मैं आत्मविश्वास पर व्यापक दृष्टिकोण से सवाल फ्रेम कर सकते हैं, तो मेरे सवाल कर रहे हैं:

  1. मैं कैसे हो सकता है प्रवाह प्रकार की जांच मोचा परीक्षण describe या it वाली प्रत्येक पंक्ति को दबाने के बिना कोड?
  2. यह स्थितियों की एक विस्तृत श्रेणी का एक उदाहरण है और यदि हां, तो बाद वाला क्या होगा?

उत्तर

4

तीसरे पक्ष के पुस्तकालयों आमतौर पर परिभाषा फ़ाइलें, किसी दिए गए पुस्तकालय के लिए सभी प्रकार की जानकारी युक्त अर्थात फाइलों की जरूरत है।

इस मामले में, आप

npm install -g flow-typed 

के साथ स्थापित करें जो सौभाग्य से flow-typed.

प्रदान की जाती है मोचा के लिए एक परिभाषा फ़ाइल, जरूरत है तो

flow-typed install 

यह स्वचालित रूप से सभी स्थापित हो जाएगा चलाने मोचा समेत आपकी निर्भरताओं के लिए उपलब्ध परिभाषा फाइलें।

+1

मोचा के लिए प्रवाह-टाइप डीफ़ वर्तमान में अधिकतर बेकार स्वत: उत्पन्न स्टब हैं, और वे 'वर्णन' और 'यह' पर त्रुटियों को ठीक नहीं करते हैं। – Andy

+2

@ एंडी आपको आयात को बदलना चाहिए: आयात 'वर्णन, यह}' मोचा 'से; – paulojean

+0

@ पुलोज़ेन नहीं, फिर भी, इसे अपने आप आज़माएं। यदि आप 'मोचा' से आयात {वर्णन} करते हैं और फिर 'वर्णन (' blah ',' blah ',' blah ') लिखते हैं, तो आपको कोई प्रवाह त्रुटियां नहीं मिलती हैं। हालांकि मुझे लगता है कि यह एक बड़ा सौदा नहीं है। – Andy

1

आप बस प्रवाह describe, it चर घोषित कर सकते हैं।

/* @flow */ 
declare var describe: any; 
declare var it: any; 

describe('it', function() { 
    it('fails', function() { 
     const s: number = 'flow spots this error'; 
    }); 
}); 
संबंधित मुद्दे