注意:我还在Waterline回购中为此开了一个issue,但没有比我的解决方案更简单的解决方案。
我有一个包含所有默认属性的用户模型(例如createdDate
,modifiedDate
)和一些自定义属性,例如emailAddress
,password
(在{{1 }等等以及与其他模型的一些额外关联。
将包含JSON格式的用户模型实例的控制器响应与Waterline模型实例进行比较的正确方法是什么?
例如,此解决方法有效:
toJSON()
但是我所尝试的其他所有事情都没有。关联丢失(request
.get('/user/1')
.end(function (err, res) {
expect(res.body).to.deep.equal(
JSON.parse(JSON.stringify( // Workaround for toJSON not stringifying dates
_.cloneDeep( // Workaround for associations being lost
testUser.toJSON() // `testUser` is a Waterline model instance that should be equivalent to the requested data (`/user/1`)
)
))
);
done();
});
解决此问题)或将字符串化日期与Date对象进行比较(cloneDeep()
解析此问题。)
有没有更好的方法来比较JSON和Waterline模型实例?也许是一些内置的实用程序?