我是JavaScript和测试新手。直到最近我才第一次写了一个测试。我指的是" Chai.js"文档,它说:
断言样式与node.js非常相似'包含断言模块, 加点糖。在三种样式选项中,断言是 只有一个不可链接的。查看样式指南 比较。
BDD风格是期待和应该的。两者都使用相同的可链接 构造断言的语言,但它们的方式不同 断言最初是构建的。查看样式指南 比较。
"可链接语言构造断言"意思? 这是我写的测试文件的example。
谢谢!
答案 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'");