11

ठीक है सी # न्यूटिट लड़के के रूप में यह अजीब हो सकता है।चमेली पैरामीटरयुक्त इकाई परीक्षण

लेकिन क्या जैस्मीन पैरामीटरयुक्त इकाई परीक्षण की अनुमति देता है?

मुझे यकीन नहीं है कि यह "घोषणा" और "इसे" के खिलाफ चला जाता है ताकि गैर प्रोग्रामर को चीजों को पठनीय बनाया जा सके।

मैंने कुछ तीसरे पक्ष के प्लग इन को देखा है लेकिन वे पुराने हैं, यकीन नहीं है कि यह जैस्मीन में जोड़ा गया है या नहीं। यदि मैं

में किसी प्लग का उपयोग करने का उल्लेख कर रहा हूं, तो भविष्य में इसे ढूंढने वाले किसी भी व्यक्ति की मदद करने के लिए, मुझे जैस्मीन मंच पर बताया गया है जैस्मीन के भीतर पैरामीटर परीक्षणों के लिए कोई प्रथम श्रेणी समर्थन नहीं है।

+0

आप अपने स्वयं के प्रश्न के उत्तर के रूप में जैस्मीन मंच पर जो उत्तर मिला है उसे पोस्ट कर सकते हैं और इसे स्वीकार कर सकते हैं। – TrueWill

उत्तर

3

मैं एक लंबे समय के बाद से चमेली के साथ काम नहीं किया है, लेकिन यह बहुत पैरामिट्रीकृत परीक्षण जोड़ने के लिए आसान था:

Array.prototype.it = function(description, testCaseFunction) { 
    _(this) 
     .chunk(testCaseFunction.length) 
     .each(function(innerArray){ 
       it(description + ' ' + JSON.stringify(innerArray), function(){ 
        testCaseFunction.apply(this, innerArray); 
       });  
     }) 
     .value(); 
}; 

पर निर्भर करता है: सिर्फ बुनियादी ढांचे कोड की कुछ लाइनों के साथ

['abc', 3, 
    'ab', 4, 
    '', 0]. 
it('should contain string length', function(string, expected){ 
    expect(string.length).toBe(expected); 
}); 

आपके इच्छित वाक्यविन्यास और डिफ़ॉल्ट जेएस ऑब्जेक्ट्स को बदलने की इच्छा, आपके पास बहुत सारे विकल्प हैं: http://blog.piotrturski.net/2015/04/jasmine-parameterized-tests.html

12

piotrek's answer और आलेखपर आधारित, आप निम्न दृष्टिकोण है जो ES6 सिंटैक्स का उपयोग करता इस्तेमाल कर सकते हैं:

[ 
    ['abc', 3], 
    ['ab', 2], 
    ['', 0], 
].forEach(([string, expectedLength]) => { 
    it(`should return length ${expectedLength} for string "${string}"`,() => { 
    expect(string.length).toBe(expectedLength); 
    }); 
}); 

मैं जेस्ट परीक्षण ढांचे के साथ यह परीक्षण किया है, लेकिन यह जैस्मीन के साथ भी काम करना चाहिए।

+2

यह वास्तव में जैस्मीन के साथ भी काम करता है। – Shadow

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