我正在使用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中的错误吗?至少“应该”应该:-)不被标记,因为它在代码中使用[在我的情况下多次]。
答案 0 :(得分:9)
这不是eslint中的一个错误吗?
不,因为你 没有使用名为should
的变量。
您正在使用名为should
且chai.should()
添加到Object.prototype
的getter,但这与使用变量不同。
您仍然可以使用该变量,例如:
should.exist(...);
should.not.exist(...);
但你可能不会这样做。
所以要摆脱警告,不要这样做:
const should = chai.should();
但是这样做:
chai.should();