Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 柴深平等,平等不工作_Javascript_Mocha.js_Chai - Fatal编程技术网

Javascript 柴深平等,平等不工作

Javascript 柴深平等,平等不工作,javascript,mocha.js,chai,Javascript,Mocha.js,Chai,有些人认为它不起作用 promise = doSomething() expect(promise).to.eventually.equal(obj) expect(promise).to.eventually.deep.equal(obj) 但是在断言错误中我得到了这个 AssertionError:expected{a:2',b:3}等于{a:2',b:3} 顺便说一句,我已经尝试了should,我得到了相同的结果我猜promise返回的值可能是JSON字符串,比如 “{a:'2',b

有些人认为它不起作用

promise = doSomething()

expect(promise).to.eventually.equal(obj)

expect(promise).to.eventually.deep.equal(obj)
但是在断言错误中我得到了这个

AssertionError:expected{a:2',b:3}等于{a:2',b:3}


顺便说一句,我已经尝试了
should
,我得到了相同的结果

我猜promise返回的值可能是JSON字符串,比如

“{a:'2',b:'3'}”


我以前见过这种情况。如果是这样,请在执行深度相等操作之前尝试
JSON.parse()

我是在promise
JSON.parse(JSON.stringify(response))
中这样做的,这使它能够工作,因此根据这个问题,我假设chai正在检查对象的引用,这对我来说毫无意义


不是我期望的解决方案,但对我来说很有效,是有人有更好的解决方案,请分享

它使用一个简单的
返回expect(Promise.resolve({a:2',b:3})).to.finally.deep.equal({a:2',b:3})。您确定结果确实与预期输出匹配吗?您确定没有同时运行这两个断言吗?使用
deep
标志是正确的,因为您不应该期望对象相等。不,我不会同时运行这两个@Jacob是的,当使用
时,您的解决方案也适用于我,但不通过我的承诺,奇怪的是断言错误得到相同的值。您使用的插件是什么<我使用的是code>chai as Promission
。我猜promise返回的值可能是
JSON
字符串,比如
“{a:'2',b:'3'}”
,如果是,请在深度相等之前尝试
JSON.parse()
此值。。。