Ich verwende die Chai-Expect-Bibliothek für meine Tests. Ich habe eine Reihe von Objekten, die die Testdaten sind. Jedes Objekt hat 2 Eigenschaften name
und profession
. Ich spritze diese in eine Tabelle. Wenn ich alle Datensätze aus dem abrufen, erhalten Sie das gleiche Array zurück, aber jetzt jedes Objekt im Array wurde mit einem automatisch generierten id
Feld hinzugefügt. Ich muss meine Testdaten anhand der abgerufenen Daten überprüfen. Gibt es eine Kurzform, dies in Chai zu tun, ohne die abgerufenen Daten durchlaufen zu müssen?Wie überprüft man, ob jedes Objekt in einem Array von Objekten einige Schlüssel hat
0
A
Antwort
2
können Sie without
verwenden, um ein Feld in Folge zu beseitigen:
r.table('test').without('id')
Auf diese Weise können dagegen leicht behaupten können.
Beispielcode:
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)
})