[英]Jasmine how to check if two objects are exactly the same?
这是一个非常基本的问题,但同时在多个帖子中却没有解决方案。 如何检查两个对象是否完全相同。 我尝试过:
let objectToCopy = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
let copy = {};
Helper.deepCopy(copy, objectToCopy, true, null);
expect(objectToCopy).toEqual(jasmine.objectContaining(copy));//it passes even if copy does contain only some of the objectToCopy fields
但是这很宽容,如何测试对象是否相等,是否意味着它们的所有属性都相等?
我当然尝试过:
expect(objectToCopy).toEqual(copy);
它不会编译:
objectContaining()
不用于完全匹配,而是用于非对称匹配。
只需使用: expect(objectToCopy).toEqual(copy)
所以解决方案是:
expect(copy).toEqual(objectToCopy);
要么
expect<any>(objectToCopy).toEqual(copy);
原始方法无效,因为TypeScript使用给定参数的类型对方法进行了参数化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.