我在所有文件上使用ESLint,包括测试文件,并使用no-unused-var: true
规则。我在我的Mocha测试中使用了Should.js,在其中一个文件中,我在should
变量上收到了错误。与其他测试的快速比较显示,在其他文件中,我至少有一行以should
开头(即should.not.exist(err);
),而在此特定文件中,我只在属性形式中使用它(即a.should.equal(b)
)。
如果没有为整个文件关闭规则,或者将完全可读的测试强制转换为should
的变量使用,有什么方法可以解决这个问题吗?我可以仅针对should
变量关闭规则吗?也许为它添加一个例外?或者(希望)更优雅的解决方案?
答案 0 :(得分:11)
在此特定文件中,您只需要而不是声明。
var should = require('should');
代替
require('should');
答案 1 :(得分:-2)
嗯,似乎没有一个优雅的解决方案,但我想我得出了一个近似的结果:我只是在我的before()
钩子上加了一行,说明只需should;
。因为这会评估为should对象,或者换句话说是" truthy"价值,它可以被视为无操作。副作用是现在should
变量是"使用",并且ESLint不会发出警告。
我想让这个答案挂起一段时间,希望你们中的一个有更好的解决方案。
根据请求,此处为a gist showing the hack in action。