जैस्मिनजेएस - मैचर्स

जैस्मिन एक परीक्षण ढांचा है, इसलिए इसका उद्देश्य हमेशा जावास्क्रिप्ट फ़ाइल या फ़ंक्शन के परिणाम की अपेक्षा परिणाम के साथ तुलना करना है। माचिस जैस्मीन ढांचे में इसी तरह काम करती है।

Matchersजावास्क्रिप्ट फ़ंक्शन एक वास्तविक आउटपुट और एक अपेक्षित आउटपुट के बीच बूलियन तुलना करता है। मैचर्स दो प्रकार के होते हैंInbuilt matcher तथा Custom matchers

इनबिल्ट मैचर

मैचर्स जो जैस्मीन ढांचे में इनबिल्ट होते हैं उन्हें कहा जाता है inbuilt matcher। यूजर इसे आसानी से इस्तेमाल कर सकता हैimplicitly

निम्न उदाहरण से पता चलता है कि इनबिल्ट मैचर जैस्मीन ढांचे में कैसे काम करता है। हमने पहले अध्याय में कुछ मिलानों का उपयोग किया है।

describe("Adding single number ", function () {  

   //example of toEqual() matcher    
   it("should add numbers",function() { 
      expect(nested.add(5)).toEqual(5); 
      expect(nested.add(5)).toEqual(10); 
   });   
   
   it("should add numbers",function() { 
      expect(nested.addAny(1,2,3)).toEqual(6); 
   });
}

उदाहरण में toququal () इनबिल्ट मिलानकर्ता है जो के परिणाम की तुलना करेगा add() तथा addAny() तर्कों के साथ तरीके पास किए गए toEqual() matchers।

कस्टम मैचर्स

मैचर्स जो जैस्मीन के इनबिल्ट सिस्टम लाइब्रेरी में मौजूद नहीं हैं, उन्हें कहा जाता है custom matcher। कस्टम मिलानकर्ता को परिभाषित करने की आवश्यकता हैexplicitly()। निम्नलिखित उदाहरण में, हम देखेंगे कि कस्टम मिलान कैसे काम करता है।

describe('This custom matcher example', function() {
   
   beforeEach(function() { 
      // We should add custom matched in beforeEach() function. 
      jasmine.addMatchers ({ 
         validateAge: function() { 
            Return {    
               compare: function(actual,expected) {
                  var result = {}; 
                  result.pass = (actual > = 13 && actual < = 19);
                  result.message = 'sorry u are not a teen ';
                  return result; 
               }   
            };   
         }    
      });    
   }); 
    
   it('Lets see whether u are teen or not', function() { 
      var myAge = 14; 
      expect(myAge).validateAge();         
   });   
    
   it('Lets see whether u are teen or not ', function() { 
      var yourAge = 18;
      expect(yourAge).validateAge();  
   });
});

उपरोक्त उदाहरण में, validateAge()एक मैचर के रूप में काम करता है जो वास्तव में कुछ सीमा के साथ आपकी उम्र को मान्य कर रहा है। इस उदाहरण में, validateAge () एक कस्टम मिलानकर्ता के रूप में काम करता है। इस JS फाइल को इसमें जोड़ेंSpecRunner.htmlऔर उसी को चलाते हैं। यह निम्न आउटपुट उत्पन्न करेगा।