Sinon 和 eslint
Sinon and eslint
我正在使用 Karma、Jasmine 和 Sinon 为我的 angular 应用程序编写单元测试,并且我 运行 eslint 在我的代码库上。
我定义了将在 beforeEach inject
中用于创建 sinon.stub
的全局变量。 ESLint 一直抱怨我的全局变量已定义但从未使用过。例如:
'getListStub' is defined but never used no-unused-vars
但在我的代码中它看起来像这样
var listService, getListStub;
beforeEach(inject(function(_listService_) {
listService = _listService_;
getListStub = sinon.stub(listService, 'getList').returns(q.when(listResponse));
}
阻止 ESLint 产生错误的最佳方法是什么?
在这些测试文件的顶部设置 /*eslint no-unused-vars: 0*/
是否最好?
如果您没有在任何地方使用 getListStub
,为什么要将它分配给变量?
JS闭包和内存管理(具体来说,持有引用对象)的特性将允许您直接使用_listService_
,您应该不需要缓存getListStub
。
如果这对 sinon 能正常工作,您应该能够将您的函数重写为:
beforeEach(inject(function(_listService_) {
sinon.stub(_listService_, 'getList').returns(q.when(listResponse));
}
我正在使用 Karma、Jasmine 和 Sinon 为我的 angular 应用程序编写单元测试,并且我 运行 eslint 在我的代码库上。
我定义了将在 beforeEach inject
中用于创建 sinon.stub
的全局变量。 ESLint 一直抱怨我的全局变量已定义但从未使用过。例如:
'getListStub' is defined but never used no-unused-vars
但在我的代码中它看起来像这样
var listService, getListStub;
beforeEach(inject(function(_listService_) {
listService = _listService_;
getListStub = sinon.stub(listService, 'getList').returns(q.when(listResponse));
}
阻止 ESLint 产生错误的最佳方法是什么?
在这些测试文件的顶部设置 /*eslint no-unused-vars: 0*/
是否最好?
如果您没有在任何地方使用 getListStub
,为什么要将它分配给变量?
JS闭包和内存管理(具体来说,持有引用对象)的特性将允许您直接使用_listService_
,您应该不需要缓存getListStub
。
如果这对 sinon 能正常工作,您应该能够将您的函数重写为:
beforeEach(inject(function(_listService_) {
sinon.stub(_listService_, 'getList').returns(q.when(listResponse));
}