即使我的摩卡测试用例正在使用,但是eslint仍在警告它吗?

时间:2017-05-04 13:55:21

标签: node.js chai eslint

我正在使用mocha和chai.should断言库对我的OSS npm模块进行单元测试。但是eslint [v3.18.0 ^]警告在代码中的should声明中没有使用它

const should = chai.should();

Lint警告 'should'被赋值但从未使用过。

我们将mocha作为.eslintrc中的环境。尽管在我的测试文件中至少有七个断言语句中出现了“应该”,但仍出现此警告。

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

我知道下面的SO问题讨论了其他断言声明,这些声明从未在声明的回复[甚至没有被声明为答案]的情况下声明,而有人创建了一个插件来克服这个问题

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

1 个答案:

答案 0 :(得分:9)

  

这不是eslint中的一个错误吗?

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

您正在使用名为shouldchai.should()添加到Object.prototype的getter,但这与使用变量不同。

您仍然可以使用该变量,例如:

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

但你可能不会这样做。

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

const should = chai.should();

但是这样做:

chai.should();