.toBe() 和 .toEqual() 之间的区别 - Jasmine Karma 测试用例

Ami*_*ail 5 jasmine angularjs karma-jasmine

我使用 Jasmine karma 测试用例一段时间,发现测试有时会失败,因为使用 .toBe() 而不是 .toEqual()。.toBe() 和 .toEqual()之间有什么区别以及何时使用它们?

Fil*_*ype 2

根据我的经验,toBe用于比较字符串、布尔值,例如:

expect(enabled).toBe(true)
expect(user.name).toBe('Bob')
Run Code Online (Sandbox Code Playgroud)

toEqual更适合比较数组或对象。例如:

expect(myArray).toEqual([1,2,3])
Run Code Online (Sandbox Code Playgroud)