当前位置: 首页 > 知识库问答 >
问题:

笑话中的“成为”和“平等”有什么区别?

欧阳意蕴
2023-03-14

Jest文档中写道:

const x = { a: { b: 3 } };
const y = { a: { b: 3 } };

expect(x).toEqual(y);
expect(x).toBe(y);

另外,是否有使用tobetoequal的最佳实践(不仅在Jest中,而且在其他测试框架中)?

共有1个答案

常温文
2023-03-14

它失败是因为xy是不同的实例,不像(x===y)===false那样相等。您可以使用tobe来表示字符串、数字或布尔值之类的原语,其他的都可以使用toequal。例如

x = 4 
y = 4
x === y // true

x = 'someString'
y = 'someString'
x === y // true

即使是空的对象也不相等

x = {}
y = {}
x === y //false
 类似资料:
  • 问题内容: 使用Mockito间谍的用例是什么? 在我看来,每个间谍用例都可以使用callRealMethod进行模拟处理。 我可以看到的一个区别是,如果您希望大多数方法调用都是真实的,则可以节省一些代码行以使用模拟与间谍。是这样还是我错过了更大的前景? 问题答案: 答案在文档中: 真正的部分模拟(自1.8.0开始) 最后,在邮件列表上进行了许多内部辩论和讨论之后,Mockito添加了部分模拟支持

  • 问题内容: 我一直认为Java 中的运算符用于验证其两个布尔操作数是否均为,并且该&运算符用于对两种整数类型进行按位运算。 最近我知道,也可以使用运算符来验证其两个布尔操作数是否均为,唯一的区别是即使LHS操作数为false,它也会检查RHS操作数。 Java中的运算符是否在内部重载?还是在这背后有其他概念? 问题答案: <-验证两个操作数 <-停止评估第一个操作数是否为false,因为结果为fa

  • 问题内容: JavaScript中的&和&&有什么区别? 示例代码: 似乎&&是一个逻辑上的“和”,如果两个都为true,则总是为我提供第二个值。 但是什么是&? (顺便说一下,&&在Python中似乎是“ and”;&在Python中似乎是&。) 问题答案: 是按位AND 该运算符期望 两个数字 并重新调整一个 数字。 如果它们不是数字,则将其强制转换为数字。 注意: 在Javascript中,