Mocha,使用this.skip()动态跳过测试无法正常工作

时间:2018-07-24 06:08:36

标签: testing mocha skip

我正在尝试跳过在条件“ it”中使用this.skip()返回的条件是否为真的测试,但出现错误“ this.skip不是函数”。 这是我要检查的简单代码:

var async = require('async');
var should = require('chai').should();
var chai = require('chai'),
should = chai.should();
expect = chai.expect;
chai.use(require('chai-sorted'));

describe('Testing skip...\n', function() {
        this.timeout(1000);
        it('test1', (done) => {
            this.skip();
            console.log("1")
            done();
        });

        it('test2', (done) => {         
            console.log("2");
            done();
        }); 

});

我安装了“ mocha@5.2.0”,因为我看到它仅在“ mocha v3.0.0”之后才可用, 但我仍然无法使它正常工作,过去有关该主题的讨论似乎都无法解决我的问题。

1 个答案:

答案 0 :(得分:5)

为了在摩卡咖啡中使用this,请不要使用箭头功能。因此,在您的代码中,您需要将其编写为

it('test1', function(done) { // use regular function here
  this.skip();
  console.log("1")
  done();
});

在Mocha中的最佳做法是不鼓励https://mochajs.org/#arrow-functions

中所述的箭头功能

希望有帮助