JasmineJS - 跳过块


Jasmine 还允许开发人员跳过一个或多个测试用例。这些技术可以应用于规范级别套件级别。根据应用的级别,该块可以分别称为Skipping SpecSkipping Suite

在下面的示例中,我们将学习如何使用“x”字符跳过特定的规范套件

跳过规格

我们将在前面的示例语句之前使用“x”来修改它。

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 代码,我们将在浏览器中收到以下输出结果。Jasmine 本身会使用“xit”通知用户特定的it块已暂时禁用

XIT 区块结果

跳绳套房

同样的,我们可以禁用describe块来实现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(); 
   });
});

上面的代码将生成以下屏幕截图作为输出。

跳绳套房

正如我们在消息栏中看到的,它显示了两个处于待处理状态的规格块,这意味着这两个规格块已使用“x”字符禁用。在下一章中,我们将讨论不同类型的 Jasmine 测试场景。