在 Mocha 测试中绕过 ESLint 的 `no-unused-var` for Should

Bypass ESLint's `no-unused-var` for Should in a Mocha test

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

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

好吧,似乎没有一个优雅的解决方案,但我想我想出了一个近似值:我只是在我的 before() 挂钩中添加了一行,简单地说 should;.由于这计算为 should 对象,或者换句话说 "truthy" 值,它可以被视为空操作。副作用是现在 should 变量是 "used",ESLint 不会抛出警告。

我将暂时搁置这个答案,希望你们中的一个人有更好的解决方案。

根据要求,这里是 a gist showing the hack in action

在这个特定的文件中,您可以只要求而不是声明。

var should = require('should');

改为

require('should');