4

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

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

4

2 回答 2

12

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

var should = require('should');

而是做

require('should');
于 2015-08-21T11:48:22.140 回答
-2

好吧,似乎没有一个优雅的解决方案,但我想我想出了一个接近的近似值:我只是在我的before()钩子中添加了一行,简单地说should;. 由于 this 评估为 should 对象,或者换句话说是“真实”值,因此可以将其视为无操作。副作用是现在should变量被“使用”了,ESLint 不会抛出警告。

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

根据请求,这里有一个要点,展示了 hack 的实际应用

于 2015-06-11T19:24:26.817 回答