【问题标题】:Sinon and eslint诗乃和eslint
【发布时间】:2016-01-13 17:30:33
【问题描述】:

我正在使用 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*/ 最好吗?

【问题讨论】:

    标签: javascript angularjs karma-jasmine sinon eslint


    【解决方案1】:

    如果您没有在任何地方使用getListStub,为什么要将它分配给变量?

    JS 闭包和内存管理的属性(特别是保存引用的对象)将允许您直接使用_listService_,并且您不需要缓存getListStub

    如果使用 sinon 可以正常工作,您应该能够将您的函数重写为:

    beforeEach(inject(function(_listService_) {
      sinon.stub(_listService_, 'getList').returns(q.when(listResponse));
    }
    

    【讨论】:

    • 非常感谢!这解决了它!
    猜你喜欢
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2019-07-07
    • 2017-05-12
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    相关资源
    最近更新 更多