javascript - Jasmine如何检查两个对象是否完全相同?

标签 javascript jasmine

这是一个非常基本的问题,但同时在多个帖子中都没有解决方案。如何检查两个对象是否完全相同。 我试过了:

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);

它无法编译:

enter image description here

最佳答案

objectContaining() 不用于精确匹配,而是用于不对称匹配。

只需使用:expect(objectToCopy).toEqual(copy)

关于javascript - Jasmine如何检查两个对象是否完全相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44131914/

相关文章:

javascript - 在 Bootstrap 中显示模态时阻止隐藏滚动条

angular - 在组件中使用 NgbModule.forRoot() 导致测试失败

jasmine - 测试 spy 的返回值

javascript regexp 不允许我的表达

javascript - 表单在 onsubmit 函数完成之前提交

angularjs - Jasmine spyOn函数和返回的对象

Angular6如何测试一系列http请求

angularjs - 在 AngularJS/Jasmine 中注入(inject) Mock 服务

javascript - 关于 css 中显示属性更改的 Chrome I JavaScript 问题

javascript - 通过推送值检查数组中是否存在键