即使我的摩卡testing用例正在使用,eslint仍然警告它?

我使用摩卡和chai.should断言库来unit testing我的OSS npm模块。 但是eslint [v3.18.0 ^]会在代码中的should声明中警告它没有被使用

const should = chai.should();

Lint警告 '应该'被分配一个值,但从来没有使用。

我们有摩卡作为.eslintrc的环境。 尽pipe在我的testing文件中有至less七个断言语句,但是下面的“应该”在这些语句中出现这个警告。

 return sampleModule.getSomeFunction('dummy_accesss_token', 'dummy_event_id').should.eventually.be.eql([]); 

我知道下面这个问题,谈到其他断言陈述,这是从来没有声明,而答复[甚至没有被声明为答案]查询有人创造了一个插件来克服这一点。

但我的基本前提是,这不是一个在eslint中的错误? 至less“应该”应该:-)不要被标记,因为它被用于代码[在我的情况多次]。

不是这个eslint中的错误?

不,因为你没有使用名为should的variables。

你正在使用一个叫做should的getter, chai.should()将添加到Object.prototype ,但这与使用variables不一样。

你仍然可以使用这个variables,比如像这样:

 should.exist(...); should.not.exist(...); 

但是你可能不会那样做。

所以要摆脱这个警告,不要这样做:

 const should = chai.should(); 

但是这样做:

 chai.should();