一尘不染

如何使用量角器创建条件测试用例?

selenium

当前,我有一些只在特定条件下执行的测试用例。

it ('user is able to log in', function() {
   if(siteAllowsLogin) {
       .....
   }

使用以上语法将导致siteNotAllowingLogin通过此测试。我知道有一种解决方案可以将测试标记为PENDING,但是如果该测试不适用,我宁愿不显示该测试。

如果可能的话,我也想在测试用例中保留逻辑。因此,将if块保留在测试用例中。

如果不满足条件,如何跳过此测试的任何建议,以使其不会在结果中显示为PENDING或PASSED。

帮助将不胜感激。


阅读 253

收藏
2020-06-26

共1个答案

一尘不染

ignore如果提供的谓词/状态为true,则可以在前面使用函数禁止测试:

var ignore = function(exp){return{it:((typeof exp==='function')?exp():exp)?function(){}:it}};

describe('Suite 1', function() {

    it("test a", function() {
        expect(1).toEqual(1);
    });

    ignore(true).it("test b", function() {
        expect(1).toEqual(1);
    });

    ignore(skip).it("test c", function() {
        expect(1).toEqual(1);
    });

    function skip(){
      return true;
    }
});
2020-06-26