当前,我有一些只在特定条件下执行的测试用例。
it ('user is able to log in', function() { if(siteAllowsLogin) { ..... }
使用以上语法将导致siteNotAllowingLogin通过此测试。我知道有一种解决方案可以将测试标记为PENDING,但是如果该测试不适用,我宁愿不显示该测试。
如果可能的话,我也想在测试用例中保留逻辑。因此,将if块保留在测试用例中。
如果不满足条件,如何跳过此测试的任何建议,以使其不会在结果中显示为PENDING或PASSED。
帮助将不胜感激。
ignore如果提供的谓词/状态为true,则可以在前面使用函数禁止测试:
ignore
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; } });