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));
}