Node.js 尽管我的mocha测试用例使用的是should,但eslint仍然对此发出警告?
我正在使用mocha和chai.should断言库对我的OSS npm模块进行单元测试。但是eslint[v3.18.0^]在代码中的should声明中警告没有使用它Node.js 尽管我的mocha测试用例使用的是should,但eslint仍然对此发出警告?,node.js,chai,eslint,Node.js,Chai,Eslint,我正在使用mocha和chai.should断言库对我的OSS npm模块进行单元测试。但是eslint[v3.18.0^]在代码中的should声明中警告没有使用它 const should=chai.should() 皮棉警告 “应该”被指定了一个值,但从未使用过 我们在.eslintrc中使用摩卡作为环境。尽管我的测试文件中至少有七条断言语句(如下所示)包含“应该”,但仍会出现此警告 我知道下面的问题,它讨论了其他从未声明过的断言语句,而对查询的回复[甚至没有声明为答案]有人创建了一个插件
const should=chai.should()代码>
皮棉警告
“应该”被指定了一个值,但从未使用过
我们在.eslintrc中使用摩卡作为环境。尽管我的测试文件中至少有七条断言语句(如下所示)包含“应该”,但仍会出现此警告
我知道下面的问题,它讨论了其他从未声明过的断言语句,而对查询的回复[甚至没有声明为答案]有人创建了一个插件来克服这一问题
但我的基本前提是,这不是eslint中的一个bug吗?至少“should”应该:-)不被标记,因为它被用于代码中[在我的例子中多次]
这不是eslint中的一个bug吗
否,因为您没有使用名为should
的变量
您正在使用一个名为should
的getter,它将chai.should()
添加到Object.prototype
,但这与使用变量不同
您仍然可以使用该变量,例如:
should.exist(...);
should.not.exist(...);
但你可能没那么做
因此,要消除警告,请不要这样做:
const should = chai.should();
chai.should();
但要做到这一点:
const should = chai.should();
chai.should();
谢谢@robertklep。阅读您的评论,这一点在chai指南中得到进一步加强