-1

我知道它在构建插件时使用,但它实际上是如何工作的?

据我所知,它是作出断言的对象。是这样吗?

4

1 回答 1

0

是的,它是您做出断言的对象,即“实际”值。但是你只需要介意你是否正在构建一个插件。从文档

对象标志是Chai的保留标志中最重要的就是对象标志。这是一个断言的主题。

var myAssert = new Assertion('Arthur Dent');
var obj = flag(myAssert, 'object'); // obj === 'Arthur Dent';

实际上,如果可以像这样创建自己的断言方法:

chai.Assertion.addMethod("myCustomEqual", function(expected) {
  console.log(this._obj); // this._obj = actual value
  console.log(expected); // expected value
  return this.assert(this._obj === expected, `expected ${this._obj} to equal ${expected}`);
});

要运行测试:

it("should pass", function() {
  const j = 10;
  j.should.be.myCustomEqual(10);
});
于 2019-09-01T16:46:54.023 回答