2017-04-08 10 views
0

私は愚かな状況に遭遇しました。私はelasticsearch.jsと協力して、いくつかのクエリオブジェクトをコードで生成しています。 Elasticsearchクエリのうちの1つはboolQueryであり、これはshouldプロパティを持ちます。私は私のクエリオブジェクトをテストして、このような何か書きたいときには:チャイは自分の財産を上書きする必要があります

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

を私shouldプロパティがチャイによって上書きされるので、私は、エラーを取得しています。どうすればこの問題を解決できますか?

答えて

2

chai.expectを使用しているので、chai.should()に電話する必要はありません。

+0

サンプルコードでは、 'should'は自分のオブジェクトのプロパティです。私はこの 'should 'プロパティをテストしたい(2つの要素を持つ配列でなければならない)。私は名前を変更することはできません。 – Stalso

+0

@Stalso私は理解していますが、あなたが明示的に 'chai.should()'をあなたのコードのどこかで呼び出さない限り、Chaiは 'should'プロパティを上書きしません。 ['should'](https://github.com/shouldjs/should.js)パッケージ)。だからそれをやめると、チャイはそれに触れません。その場合、 "should"テストを使用することはできませんが、 'expect'を使っているように見えるので、問題になるとは思われません。 – robertklep

関連する問題