What is preferred: `toBe(null)` or `toEqual(null)`?



我知道toBetoEqual之间的区别。我也知道toBe(null)toEqual(null)将始终返回相同的值,无论您在哪个节点上调用它们。

我想知道的是是否有首选推荐的方法来检查null。或者,如果在这方面没有建议,并且使用其中一个仅取决于团队(甚至开发人员)。

非常感谢您提供的任何见解! :)

编辑:我刚刚看到还有toBeNull().这是首选,也许,或者你使用哪一个无关紧要?

它们

之间没有实际区别,它们的行为与null相似。

toBe提供了===比较(更具体地说,Object.is)。

toEqual提供了使用一些魔法的更宽松的比较。它没有详细记录。它使用===来比较基元,但当涉及对象时也有例外,例如 expect(false).toEqual(new Boolean(false)) .尽管它使用===null,但它需要一些专业知识来推断expect(someValue).toEqual(null)断言的作用。

expect(someValue).toBe(null)断言明确表明使用了严格的比较,expect(someValue).toBeNull()也是如此。

相关内容

  • 没有找到相关文章

最新更新