Javascript 什么是;“可链接”;在测试环境中(莫卡,柴)是什么意思?

Javascript 什么是;“可链接”;在测试环境中(莫卡,柴)是什么意思?,javascript,testing,mocha.js,chai,Javascript,Testing,Mocha.js,Chai,我不熟悉JavaScript和测试。就在最近,我写了一个测试,这是我有生以来的第一次。我指的是“Chai.js”文档,它说: 断言样式与node.js中包含的断言模块非常相似, 加一点额外的糖。在三个样式选项中,assert是 只有一个是不可链接的。查看样式指南以了解更多信息 比较 BDD样式是expect和should。两者都使用相同的可链接 语言来构造断言,但它们的不同之处在于 断言最初是构造的。查看样式指南以了解更多信息 比较 “构造断言的可链接语言”是什么意思? 下面是我编写的测试文件的

我不熟悉JavaScript和测试。就在最近,我写了一个测试,这是我有生以来的第一次。我指的是“Chai.js”文档,它说:

断言样式与node.js中包含的断言模块非常相似, 加一点额外的糖。在三个样式选项中,assert是 只有一个是不可链接的。查看样式指南以了解更多信息 比较

BDD样式是expect和should。两者都使用相同的可链接 语言来构造断言,但它们的不同之处在于 断言最初是构造的。查看样式指南以了解更多信息 比较

“构造断言的可链接语言”是什么意思? 下面是我编写的测试文件的一个示例


谢谢

chai
中的expect/should断言可以像一条语句一样相互链接。在以下示例中,首先对对象执行断言,然后对对象的属性执行断言,该属性在第一个断言之后成为链接上下文:

expect({ foo: 'baz' }).to.have.property('foo')
  .and.not.equal('bar');
如果要对assert执行相同的操作,则必须在两个不同的断言中完成,一个将在对象上执行,另一个将在对象的属性上执行:

var foo = { foo: 'baz' };
assert.property(foo, "foo", "object does not contain a foo property");
assert.notEqual(foo.foo, "bar", "The foo property is equal to 'bar'");