Ich habe ein Objekt, das entlang meines Verhaltens im Test erweitert werden kann, aber ich möchte sicherstellen, dass die ursprünglichen Eigenschaften noch da sind.Gibt es einen Jasmin-Matcher, um Objekte auf Teilmengen ihrer Eigenschaften zu vergleichen
var example = {'foo':'bar', 'bar':'baz'}
var result = extendingPipeline(example)
// {'foo':'bar', 'bar':'baz', 'extension': Function}
expect(result).toEqual(example) //fails miserably
Ich mag einen Matcher haben, die in diesem Fall entlang der Linien passieren würden:
expect(result).toInclude(example)
Ich weiß, dass ich einen benutzerdefinierten Matcher schreiben kann, aber es scheint mir, dass Das ist so ein häufiges Problem, dass eine Lösung schon da draußen sein sollte. Wo soll ich danach suchen?
ich liebe es, wenn SO Antworten ändern, um eine bessere Realität zu reflektieren :) – iwein
Gibt es eine Möglichkeit, dasselbe für ein Objekt zu tun, das verschiedene Werte und ähnliche Schlüssel enthält? – Siva
@Siva - Vielleicht könnten Sie versuchen, Ergebnisse von 'Object.keys (obj)' anstelle von Ihren Objekten direkt zu vergleichen? –