Javascript 柴应该覆盖我自己的财产
我陷入了愚蠢的境地。我正在使用Javascript 柴应该覆盖我自己的财产,javascript,
elasticsearch,chai,Javascript,
elasticsearch,Chai,我陷入了愚蠢的境地。我正在使用elasticsearch.js并在代码中生成一些查询对象。Elasticsearch查询之一是boolQuery,它具有should属性。当我想测试我的查询对象并编写如下内容时: expect(result.filterQuery.bool.should).to.have.length(2); 我收到一个错误,因为我的should属性被Chai覆盖。如何克服此问题?既然您使用的是chai.expect,您就不必调用chai.should()在示例代码中shou
elasticsearch.js
并在代码中生成一些查询对象。Elasticsearch查询之一是boolQuery
,它具有should
属性。当我想测试我的查询对象并编写如下内容时:
expect(result.filterQuery.bool.should).to.have.length(2);
我收到一个错误,因为我的
should
属性被Chai覆盖。如何克服此问题?既然您使用的是chai.expect
,您就不必调用chai.should()
在示例代码中should
是我自己对象的属性。我想测试这个should
属性(它必须是一个包含两个元素的数组)。我不能重命名它。@我明白,但我想说的是,除非您在代码中的某个地方显式调用Chai.should()
,否则Chai不会覆盖should
属性(或者您也在使用包)。所以如果你停止那样做,柴就不会碰它。在这种情况下,您将无法使用“应该”测试,但由于您似乎正在使用expect
,我认为这不会是一个问题。