How to programmatically skip a test in mocha?

前端 未结 14 1162
失恋的感觉
失恋的感觉 2020-12-07 17:31

I have a code where certain tests will always fail in CI environment. I would like to disable them based on an environment condition.

How to programmatically skip a

14条回答
  •  孤城傲影
    2020-12-07 17:47

    You can skip tests by placing an x in front of the describe or it block, or placing a .skip after it.

    xit('should work', function (done) {});
    
    describe.skip('features', function() {});
    

    You can also run a single test by placing a .only on the test. for instance

    describe('feature 1', function() {});
    describe.only('feature 2', function() {});
    describe('feature 3', function() {});
    

    Only the feature 2 block would run in this case.

    There doesn't appear to be a way to programmatically skip tests, but you could just do some sort of check in a beforeEach statement and only run the test if the flag was set.

    beforeEach(function(){
        if (wrongEnvironment){
            runTest = false
        }
    }
    
    describe('feature', function(){
        if(runTest){
             it('should work', function(){
                // Test would not run or show up if runTest was false,
             }
        }
    }
    

提交回复
热议问题