我正在使用Mocha和tdd用户界面以及assert
。我希望在测试中比较一个深度嵌套的对象。
var actual = {'foo': {'bar': 'baz'}}
var expected = {'foo': {'bar': 'boom'}}
assert.deepEqual(actual, expected)
我得到的错误是:
AssertionError: {"foo":{"bar":"baz"}} deepEqual {"foo":{"bar":"boom"}}
我想要的是差异 - 例如,boom
以红色突出显示,因此我可以看到导致问题的原因。特别是因为我的对象比这个例子大很多。 如何查看深层嵌套对象中的具体差异?
答案 0 :(得分:0)
序列化对象并比较字符串的工作原理:
var assertDeepEqual = function(actual, expected){
assert.deepEqual(JSON.stringify(actual, null, 2), JSON.stringify(expected, null, 2))
}
这将显示对象开始不同的位置。