运行 异步测试时出错

Error while running async test

我使用以下代码作为 mocha 测试,但出现错误“"before all" hook failed”

我使用了之前的事件,但不确定我在这里做错了什么,知道吗? 当我将 BP 放在 JSON.parse 上进行调试时,它不会在...

之后停止
describe("Validations", function () {
  before(function (done) {

    var valid = require('../utils/valid');

    _provideConfig()
        .then(function (config) {
            isValidURL = valid.url(config, "test2")
            done();
        }).done();


  });


  it("Validate URL ", function () {
    expect(isValidURL).to.be.true;
  });


});


_provideConfig = function () {

  return new Promise(function (resolve, reject) {
    var configJSON = {
        "providers": [
            {
                "replace": {
                    "path": "cmd1",
                    "inc": "upd"
                },
                "save": {
                    "path": "test2",
                    "inc": "upd2"
                }
            }
        ]
    };

    var config = JSON.parse(configJSON);
    console.log(config);
    resolve(config);
});

您必须删除 done 回调,只删除 return 承诺。

before(function () {

  var valid = require('../utils/valid');

  return _provideConfig()
    .then(function (config) {
        isValidURL = valid.url(config, "test2");
    });


});

当它在文档中说 Mocha 支持承诺时,这意味着您必须 return 承诺以便 Mocha 可以处理它。