【问题标题】:How to verify if every object in an array of objects has some keys如何验证对象数组中的每个对象是否都有一些键
【发布时间】:2016-05-03 11:29:36
【问题描述】:
我正在使用 chai expect 库进行测试。我有一个对象数组,它是测试数据。每个对象有 2 个属性 name 和 profession。我将这些注入表中。当我从 get 相同的数组中检索所有记录时,但现在数组中的每个对象都添加了一个自动生成的 id 字段。我需要根据检索到的数据验证我的测试数据。有没有在 chai 中执行此操作而无需遍历检索到的数据的速记方法?
【问题讨论】:
标签:
mocha.js
bdd
rethinkdb
chai
【解决方案1】:
您可以使用without 来消除结果中的字段:
r.table('test').without('id')
这样你就可以轻松地反对它。
示例代码:
var chai = require('chai')
var assert = chai.assert
var r = require('rethinkdb')
r.connect({
host: 'localhost',
port: 28015,
})
.then(function(conn) {
return conn
})
.then(function(conn) {
return r.table('table').without('id').run(conn)
})
.then(function(cursor) {
return cursor.toArray()
})
.then(function(data) {
assert.deepEqual([
{name: 'foo', profession: 'bar'},
{name: 'foo2', profession: 'bar2'},
], data)
})