2016-01-13 5 views
0

Я пишу модульные тесты для своего углового приложения с кармой, жасмином и синоном, и я запускаю eslint над моей базой кода.Sinon and 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*/ в верхней части этих файлов тестирования лучше всего?

ответ

2

Если вы не используете getListStub в любом месте, почему вы назначаете его переменной?

Свойства закрытия JS и управления памятью (в частности, размещение объектов, на которые ссылаются) позволит вам напрямую использовать _listService_, и вам не нужно кэшировать getListStub.

Если это работает правильно с Синоном, вы должны быть в состоянии переписать функцию:

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

спасибо! Это исправило это! – tester123