使用带有 chai-as-promised 的自定义 chai 方法断言

问题描述

我想添加这样的自定义断言/方法:

chai.use(function (chai,utils) {
  var Assertion = chai.Assertion;
  Assertion.addMethod("convertToStringEqual",function (input) {
    new Assertion(this._obj.toString()).to.equal(input.toString());
  });
});

但是我希望能够像这样将它与 chai-as-promised 一起使用:

Promise.resolve(2 + 2).should.eventually.convertToStringEqual(4);

但是当我运行这个例子时,我看到了这个错误:

AssertionError: expected '[object Promise]' to equal '4'

这是因为 chai-as-promised 在将其传递给 eventually 之前没有使用 convertToStringEqual 解析该承诺。

在将它传递给我的自定义断言方法之前,如何让 chai-as-promised 等待该承诺?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)