似乎有像' .to',' .be'等方法。和' .is'在摩卡中,除了可读性之外没有任何其他真正的目的,并且它们被构建为对计算机基本上是不可见的。这是正确的,可以省略吗?
答案 0 :(得分:1)
感谢有趣的问题!
简而言之,您的问题的答案是是的,可以省略,您的断言将具有相同的含义。
例如,所有这些都应该通过:
expect({"ok":"hello"}).is.not.undefined;
expect({"ok":"hello"}).to.not.undefined;
expect({"ok":"hello"}).be.not.undefined;
expect({"ok":"hello"}).be.is.to.be.not.undefined;
expect({"ok":"hello"}).to.to.to.to.to.not.to.to.to.to.undefined;
expect({"ok":"hello"}).not.undefined;
我很好奇这些功能是如何实现的,因为我使用的是WebStorm,我只需按住Ctrl +点击其中一种方法即可跳转到它的源码(即使我使用的是mocha跳转到文件中名为 unit.js 。源的空白被压缩,但在复制/粘贴到一个新的js文件并执行ctrl + alt + L重新格式化代码后非常好并且易于阅读下面我列出了你特别询问的三个功能的实现。
get to() {
return this
}
get be() {
return h.call(this, this.equal)
}
get is() {
return h.call(this, this.equal)
}
我希望有所帮助!