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?
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
@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