在Mocha测试中绕过ESLint的“no-unused-var”for

时间:2015-06-11 18:02:06

标签: javascript mocha lint should.js eslint

我在所有文件上使用ESLint,包括测试文件,并使用no-unused-var: true规则。我在我的Mocha测试中使用了Should.js,在其中一个文件中,我在should变量上收到了错误。与其他测试的快速比较显示,在其他文件中,我至少有一行以should开头(即should.not.exist(err);),而在此特定文件中,我只在属性形式中使用它(即a.should.equal(b))。

如果没有为整个文件关闭规则,或者将完全可读的测试强制转换为should的变量使用,有什么方法可以解决这个问题吗?我可以仅针对should变量关闭规则吗?也许为它添加一个例外?或者(希望)更优雅的解决方案?

2 个答案:

答案 0 :(得分:11)

在此特定文件中,您只需要而不是声明。

var should = require('should');

代替

require('should');

答案 1 :(得分:-2)

嗯,似乎没有一个优雅的解决方案,但我想我得出了一个近似的结果:我只是在我的before()钩子上加了一行,说明只需should;。因为这会评估为should对象,或者换句话说是" truthy"价值,它可以被视为无操作。副作用是现在should变量是"使用",并且ESLint不会发出警告。

我想让这个答案挂起一段时间,希望你们中的一个有更好的解决方案。

根据请求,此处为a gist showing the hack in action