我得到如下结果由摩卡失败消息:无法获取对象等于
Uncaught AssertionError: expected Object { name: 'John Doe' } to be Object { name: 'John Doe' }
+ expected - actual
这里是我的测试代码:
describe("A user gets registered", function() {
it('should create a SINGLE user on /api/register POST', function (done) {
//calling REGISTER api
server
.post('/api/register')
.send({
name: "John Doe",
username: "john",
password: "open"
})
.expect("Content-type", /json/)
.expect(200)
.end(function (err, res) {
var data = {
"name": "John Doe"
};
res.status.should.equal(200);
res.body.should.equal(data);
done();
});
});
});
这是我的实际代码:
router.post('/', function (req, res) {
var data = {name: 'John Doe'};
res.status(200).json(data);
});
module.exports = router;
但是,我不应该从摩卡得到一个失败的消息,因为两个对象都是一样的。但不知何故,他们并非如此,我真的不知道我做错了什么。
我已经检查了两个对象的间距,所以不应该如此。
尝试'deepEqual'? http://stackoverflow.com/questions/13225274/the-difference-between-assert-equal-and-assert-deepequal-in-javascript-testing-w在JavaScript'({} === {})'返回 – evolutionxbox
''''' 'false'意味着没有2个对象可以直接比较,但是它们的关键值对可以进行比较。 –