Javascript 使TestCafe显示对象差异
我们使用TestCafe进行端到端测试,我发现自己遇到了如下错误:Javascript 使TestCafe显示对象差异,javascript,assert,e2e-testing,testcafe,end-to-end,Javascript,Assert,E2e Testing,Testcafe,End To End,我们使用TestCafe进行端到端测试,我发现自己遇到了如下错误: AssertionError: expected [ Array(5) ] to deeply equal [ Array(5) ] 我希望这样的错误消息包括一个diff。我知道npm上有对象diff模块,但我想添加它,这样我就不必在任何时候声明对象相等时导入此库。我编写了一个非常类似的typescript函数,它涉及到对对象的所有属性进行面包优先搜索。为了你的目的我稍微修改了一下。也许会有用。我没有测试它 isPrimiti
AssertionError: expected [ Array(5) ] to deeply equal [ Array(5) ]
我希望这样的错误消息包括一个diff。我知道npm上有对象diff模块,但我想添加它,这样我就不必在任何时候声明对象相等时导入此库。我编写了一个非常类似的typescript函数,它涉及到对对象的所有属性进行面包优先搜索。为了你的目的我稍微修改了一下。也许会有用。我没有测试它
isPrimitiveType(o) {
const t = typeof o;
return t == 'string' || t == 'number' || t == 'boolean';
}
printDiff(obj: any, userPref: any) {
if (obj === undefined || obj === null) {
return;
}
for (let k in obj) {
let prop = obj[k];
if (isPrimitiveType(prop)) {
if (!userPref[k]) {
console.log(userPref[k], ' not matches');
}
} else {
if (!userPref[k]) {
console.log(userPref[k], ' not matches');
} else {
this.setUserPrefs(obj[k], userPref[k]);
}
}
}
}
最新的TestCafe版本(
1.11.0
)显示了对象差异。
功能不错!但是我该如何设置TestCafe?对不起,我对TestCafe不太了解