遗憾的是,柴人有多种做事方式。
相对于to.be.an('undefined')
,使用to.equal(undefined)
有好处吗?
我的直觉是重复使用/重新创建未定义的内容会产生成本。我们的测试跑步者给出了进行单个测试的时间,似乎更重要的是第一次运行(在测试手表上,第二个更快,但是进行两次单独的运行意味着它们都需要花费约2秒钟(完整设置))。>
答案 0 :(得分:1)
我认为这并不重要。我设法找到的最接近答案的是this article
从这种意义上讲,使用 expect 或 should 而不是使用自定义代码,以类人的语言,声明性的BDD样式编码期望。
作者似乎并没有对两者进行区分,甚至您的测试也表明两者大致相同。
我说有道理的
编辑:
嵌套的属性越深,将需要更多的时间来执行属性查找。
这意味着to.be.an('undefined')
实际上会比to.equal(undefined)
慢,这是因为需要进行额外的查找,但是IMO附带的prototype
污染可能会带来误报。
与以前一样的结论:顺其自然。