chai things - should() 方法的完整列表

chai things - comprehensive list of should() methods

我正在寻找可以使用 chai.js 的 chai-things 库在装饰对象上调用的方法的完整列表 所以,例如:

myObject.should.METHOD_NAME。

以上语句中可以调用的有效METHOD_NAMEs有哪些。如果有效的方法名称基于对象类型,是否有 table 每个对象类型可用的方法列表?

例如,这里有一些可用的方法:

这是另一个例子,如果你在数组断言上调用 'increase' 你会得到一个错误,而如果你调用 'contain' 就没问题。我正在寻找描述这些规则的文档。

谢谢

should 的所有方法都可以在 "Expect / Should" 下的文档中找到(http://chaijs.com/api/bdd/), for example here's the docs for contain (which is an alias of .include):

.include(value)

@param{ Object | String | Number }obj

@param{ String }message_optional_

The include and contain assertions can be used as either property based language chains or as methods to assert the inclusion of an object in an array or a substring in a string. When used as language chains, they toggle the contains flag for the keys assertion.

expect([1,2,3]).to.include(2);
expect('foobar').to.contain('foo');
expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo');

文档显示了使用 expect(foo).to... 语法的示例,但是 expect(foo).to.foo.should 是完全可以互换的。

如果需要,您还可以查看源代码——所有核心断言都在一个文件中; chai/lib/core/assertions.js - 它们是使用 addMethod 构建的,但每个都带有文档(文档用于生成网站)因此应该很容易阅读。

每个方法都可以从 .should 获得 - 但有一些特殊的 "properties" 可以帮助形成英语句子的近似值,它们什么都不做,但可以用来链接断言 -这些是

  • 成为
  • 曾经
  • 那个
  • 哪个
  • 一样

(所以如果你真的想要,你可以写 'a'.should.to.be.been.is.that.which.and.has.have.with.at.of.same.equal('a') - 这与 'a'.should.equal('a') 具有相同的效果)