2017-04-08 2 views
0

Ich habe in dumme Situation geraten. Ich arbeite mit elasticsearch.js und erzeuge einige Abfrage-Objekte in Code. Einer der Elasticsearch Abfragen ist boolQuery, die should Eigenschaft hat. Und wenn ich möchte, dass meine Abfrage Objekt testen und so etwas schreiben:Chai sollte mein eigenes Eigentum überschreiben

expect(result.filterQuery.bool.should).to.have.length(2); 

Ich erhalte eine Fehlermeldung, weil mein should Eigentum von Chai überschrieben wird. Wie kann ich dieses Problem überwinden?

Antwort

2

Da Sie chai.expect verwenden, müssen Sie nicht chai.should() aufrufen.

+0

In dem Beispielcode 'sollte' ist die Eigenschaft meines eigenen Objekts. Ich möchte diese "sollte" -Eigenschaft testen (es muss ein Array mit zwei Elementen sein). Und ich kann es nicht umbenennen. – Stalso

+0

@Stalso Ich verstehe, aber was ich versuche zu sagen ist, dass Chai die 'should'-Eigenschaft nicht überschreibt, es sei denn, Sie nennen 'chai.should()' irgendwo in Ihrem Code (entweder das oder Sie verwenden es auch) das ['sollte'] (https://github.com/shouldjs/should.js) Paket. Wenn du damit aufhörst, wird Chai es nicht anfassen. In diesem Fall können Sie keine "Soll" -Tests verwenden, aber da es so aussieht, als würden Sie 'expect' verwenden, glaube ich nicht, dass dies ein Problem wäre. – robertklep

Verwandte Themen