JasmineJS - ข้ามบล็อก

จัสมินยังอนุญาตให้นักพัฒนาข้ามกรณีทดสอบหนึ่งหรือมากกว่าหนึ่งกรณี สามารถใช้เทคนิคเหล่านี้ได้ที่ไฟล์Spec level หรือ Suite level. ขึ้นอยู่กับระดับของแอปพลิเคชันบล็อกนี้สามารถเรียกได้ว่าเป็นไฟล์Skipping Spec และ Skipping Suite ตามลำดับ

ในตัวอย่างต่อไปนี้เราจะเรียนรู้วิธีการข้ามเฉพาะ Spec หรือ Suite โดยใช้ “x” ตัวละคร.

ข้ามข้อมูลจำเพาะ

เราจะแก้ไขตัวอย่างก่อนหน้าโดยใช้ “x” ก่อนหน้านี้ it คำให้การ.

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();  
   });
   
   xit('Lets see whether u are teen or not ', function() {  
      //Skipping this Spec 
      var yourAge = 18; 
   });
});

หากเรารันโค้ด JavaScript นี้เราจะได้รับผลลัพธ์ต่อไปนี้เป็นผลลัพธ์ในเบราว์เซอร์ จัสมินเองจะแจ้งให้ผู้ใช้ทราบโดยเฉพาะit บล็อกคือ disabled ชั่วคราวโดยใช้ “xit”.

ข้ามห้องชุด

ในทำนองเดียวกันเราสามารถปิดการใช้งานบล็อกคำอธิบายเพื่อใช้เทคนิคของ Skipping Suite. ในตัวอย่างต่อไปนี้เราจะเรียนรู้เกี่ยวกับขั้นตอนการข้ามชุดบล็อก

xdescribe('This custom matcher example ', function() {  
   
   //Skipping the entire describe  block  
   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(); 
   });
});

โค้ดด้านบนจะสร้างภาพหน้าจอต่อไปนี้เป็นผลลัพธ์

ดังที่เราเห็นในแถบข้อความจะแสดงบล็อกข้อมูลจำเพาะสองรายการในสถานะรอดำเนินการซึ่งหมายความว่าบล็อก Spec ทั้งสองนี้ถูกปิดใช้งานโดยใช้ “x”ตัวละคร. ในบทต่อไปเราจะพูดถึงสถานการณ์การทดสอบจัสมินประเภทต่างๆ