2016-06-02 5 views
1

내 각도기 테스트에는 동일한 파일에 여러 버전의 자바 스크립트가 있습니다. 노드에서 실행되는 대부분의 테스트는 ES6입니다. 예를 들어, 말 :여러 버전의 자바 스크립트/다른 환경을 가진 린트 파일

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

그리고, 동일한 파일에, 로케이터와 함수가 (나의 이해에 의해) browser.executeScript에 전달이 (브라우저가 지원하는 어떤 버전 사용) 브라우저에서 실행됩니다.

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

파일의 나머지 부분에 서로 다른 규칙을 사용하여 executeScript에 전달하는 기능을 보풀하는 나는 (내 테스트 또는 구조) eslint을 구성 할 수있는 방법이 있나요? 예를 들어, 내 테스트에서,

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

은 단지 그것을 선언있어 기능에 전체 파일을 브라우저 전역을 추가 eslint 할 것으로 보인다.

+0

: 당신은 테스트 파일에서 도우미 기능을 필요로 할 수 있습니다 파일의 일부분 만 전체 파일에 적용됩니다. –

답변

1

프로젝트를 구성하여 하나의 규칙 세트로 작성 될 수있는 헬퍼 함수를 ​​한 곳에 배치하고 다른 규칙 세트를 사용하여 테스트 할 수있는 것처럼 보입니다. ENV 변경을 허용 할 계획이있을 것 같지 않습니다이 스레드 https://github.com/eslint/eslint/issues/2614에 따르면

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

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