繁体   English   中英

茉莉花如何检查两个对象是否完全相同?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM