2016-06-02 1 views
1

Мои тесты-утяжители содержат несколько версий Javascript в том же файле. Основная часть тестов, выполняемых в узле, - ES6. Скажем, например:Linting-файл с несколькими версиями Javascript/разных сред

return new Promise((resolve, reject) => { 
    ... 
}); 

И затем, в том же файл, локаторы и функции передаются browser.executeScript, что (по моему пониманию) запускается в браузере (с помощью любой версии браузера поддерживает).

browser.executeScript(function() { 
    window.localStorage.clear(); 
}); 

Есть ли способ я могу настроить eslint (или структурировать мои тесты), чтобы нибудь вкусненькое функцию передается executeScript, используя различные правила для остальной части файла? Например, из моего тестирования,

browser.executeScript(function() { 
    /* eslint-env browser */ 
    window.localStorage.clear(); 
}); 

, как сделать eslint добавить глобал браузера на весь файл, а не только в функции она объявлена.

+0

По этой теме https://github.com/eslint/eslint/issues/2614 там, кажется, не быть план, чтобы для изменения окр для части файла, только для целого файла. –

ответ

1

Похоже, что вы могли бы структурировать свой проект, чтобы помещать вспомогательные функции в одном месте, которое можно было бы нарисовать одним набором правил, и поместить ваши тесты в другое место, которое было бы листером с другим набором правил. Вы можете потребовать вспомогательные функции из тестового файла:

//helperScripts.js 
module.exports = { 
    clearLocalStorage: function() { window.localStorage.clear(); } 
} 

//testFile.js 
var helperScripts = require('../otherFolder/helperScripts.js'); 
browser.executeScript(helperScripts.clearLocalStorage);