什么"可链接"在测试的上下文(摩卡,柴)意味着什么?

时间:2015-05-04 05:30:26

标签: javascript testing mocha chai

我是JavaScript和测试新手。直到最近我才第一次写了一个测试。我指的是" Chai.js"文档,它说:

  

断言样式与node.js非常相似'包含断言模块,   加点糖。在三种样式选项中,断言是   只有一个不可链接的。查看样式指南   比较。

     

BDD风格是期待和应该的。两者都使用相同的可链接   构造断言的语言,但它们的方式不同   断言最初是构建的。查看样式指南   比较。

"可链接语言构造断言"意思? 这是我写的测试文件的example

谢谢!

1 个答案:

答案 0 :(得分:2)

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'");