我的量角器测试在同一个文件中有多个版本的Javascript。在节点中运行的大部分测试都是ES6。比方说,例如:
return new Promise((resolve, reject) => {
...
});
然后,在同一个文件中,传递给browser.executeScript的定位器和函数(根据我的理解)在浏览器中运行(使用浏览器支持的任何版本)。
browser.executeScript(function() {
window.localStorage.clear();
});
有没有办法我可以配置eslint(或构造我的测试)来使用不同的规则将传递给executeScript的函数lint到文件的其余部分?例如,从我的测试中,
browser.executeScript(function() {
/* eslint-env browser */
window.localStorage.clear();
});
似乎使eslint将浏览器全局变量添加到整个文件中,而不仅仅是在它声明的函数中。
答案 0 :(得分:1)
您似乎可以构建项目,将辅助函数放在一个可以使用一组规则绘制的位置,并将测试放在另一个可以使用不同规则集的地方。您可以从测试文件中获取辅助函数:
//helperScripts.js
module.exports = {
clearLocalStorage: function() { window.localStorage.clear(); }
}
//testFile.js
var helperScripts = require('../otherFolder/helperScripts.js');
browser.executeScript(helperScripts.clearLocalStorage);