使用lib' chai',我可以这样做:
expect(display).to.be.true;
如果显示为false,则测试失败,如果显示为true,则可以正常工作。
我的问题是,lib chai如何知道" .true"财产已被使用?没有括号,它甚至不是一种方法!这个语法的名称是什么?我怎么能宣布类似的事情?
这个lib还有.false和.empty属性,可以使用为什么语法相同:
expect([]).to.be.empty;//OK
expect([1]).to.be.empty;//test fail
expect(false).to.be.false;//OK
expect(true).to.be.false;//test fail
答案 0 :(得分:2)
对象可以有"getter" and "setter" properties。它们分别调用您在访问或更新时提供的功能。
var o = {
get test() { console.log("foo!") }
}
o.test;
这是ECMAScript 5的一项功能,在现代实现中广泛使用。