我知道toBe
和toEqual
之间的区别。我也知道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()
也是如此。