Mocha 테스트 파일에서 ESLint 오류 'describe' is not defined no-undef
소개
길기 때문에 관심이없는 사람은 TL;DR까지 날아갑니다.
JavaScript를 깨끗한 상태로 유지하기 위해 없어서는 안되는 존재의 ESLint이지만, 그것이 원래의 JavaScript가 아니라, mocha용의 테스트 파일이라고 이야기가 바뀐다.
파일내에서 정의하고 있지 않는 함수, describe
이나 it
를 사용하기 때문이다.
그렇게 되면, 프로그램이 에러 투성이가 된다.
그러나 이것만을 위해서 테스트 파일에 대해서, ESLint를 무효로 하는 것도 아깝기 때문에, 뭔가 회피하는 방법이 없는지 조사해도 규칙 단위, 여기에서는 no-undef
를 무효로 하는 방법밖에 일본어 의 해설이 발견되지 않았기 때문에 같은 사태가 된 사람의 도움이 되면 이 기사를 쓴다.
TL;DR
소스 코드의 첫 번째 줄에
/* eslint-env mocha */
라고 쓴다. 그만큼.
1행째가 아니어도, mocha 관련의 함수가 나오기 전에 쓰면 무효가 되지만 1행째에 쓰는 편이 깨끗이 해도 좋을 것이다(아마)
다만, //
로부터 시작되는 코멘트라고 기능하지 않는다
Specifying Environments
실은, 디폴트로 ESLint의 모든 테스트 변수를 글로벌 변수로 설정해 주는 환경 설정, mocha
가 있어, JSON이라면
{
"env": {
"mocha": true
}
}
와 같이 쓰면 됩니다만, 그러면 모든 파일, 테스트 파일 이외의 파일까지, mocha의 테스트 변수가 글로벌 변수로서 다루어지므로, 만일, describe
라든지 it
를 정의하고 있지 않아도 , no-undef
에 반응하고 있습니다. 이 문제를 해결하기 위해 다음에 작성하는 방법을 사용합니다.
Specifying Globals
ESLint는 프로그램의 주석으로 전역 변수를 설정하고 규칙을 제어 할 수 있습니다.
여기서 단순히 describe
나 it
등을 글로벌 변수로 등록해도 됩니다만, 앞서 쓴 환경설정의 mocha
알기 쉬워질 것이다.
환경 설정을 변경하려면
/* eslint-env ... */
라고 쓰면 좋기 때문에 mocha
를 유효하게 하려면
/* eslint-env mocha */
라고 쓰면 좋다.
후기
일본어의 해설이 없었기 때문에 썼지만, 자주 찾아보면 공식 문서에 그대로 타고 있거나 하기 때문에 기사로 할 정도도 아니다라고 생각하거나와... 아무튼 1밀리 정도 누군가의 도움이 되면. 끝.
참고
Configuring ESLint - ESLint - Pluggable JavaScript linter
ESLint 주석에서 규칙 제어 - Qiita
Reference
이 문제에 관하여(Mocha 테스트 파일에서 ESLint 오류 'describe' is not defined no-undef), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuta0801/items/3f1d57593130b50bbf88
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
소스 코드의 첫 번째 줄에
/* eslint-env mocha */
라고 쓴다. 그만큼.
1행째가 아니어도, mocha 관련의 함수가 나오기 전에 쓰면 무효가 되지만 1행째에 쓰는 편이 깨끗이 해도 좋을 것이다(아마)
다만,
//
로부터 시작되는 코멘트라고 기능하지 않는다Specifying Environments
실은, 디폴트로 ESLint의 모든 테스트 변수를 글로벌 변수로 설정해 주는 환경 설정, mocha
가 있어, JSON이라면
{
"env": {
"mocha": true
}
}
와 같이 쓰면 됩니다만, 그러면 모든 파일, 테스트 파일 이외의 파일까지, mocha의 테스트 변수가 글로벌 변수로서 다루어지므로, 만일, describe
라든지 it
를 정의하고 있지 않아도 , no-undef
에 반응하고 있습니다. 이 문제를 해결하기 위해 다음에 작성하는 방법을 사용합니다.
Specifying Globals
ESLint는 프로그램의 주석으로 전역 변수를 설정하고 규칙을 제어 할 수 있습니다.
여기서 단순히 describe
나 it
등을 글로벌 변수로 등록해도 됩니다만, 앞서 쓴 환경설정의 mocha
알기 쉬워질 것이다.
환경 설정을 변경하려면
/* eslint-env ... */
라고 쓰면 좋기 때문에 mocha
를 유효하게 하려면
/* eslint-env mocha */
라고 쓰면 좋다.
후기
일본어의 해설이 없었기 때문에 썼지만, 자주 찾아보면 공식 문서에 그대로 타고 있거나 하기 때문에 기사로 할 정도도 아니다라고 생각하거나와... 아무튼 1밀리 정도 누군가의 도움이 되면. 끝.
참고
Configuring ESLint - ESLint - Pluggable JavaScript linter
ESLint 주석에서 규칙 제어 - Qiita
Reference
이 문제에 관하여(Mocha 테스트 파일에서 ESLint 오류 'describe' is not defined no-undef), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuta0801/items/3f1d57593130b50bbf88
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"env": {
"mocha": true
}
}
ESLint는 프로그램의 주석으로 전역 변수를 설정하고 규칙을 제어 할 수 있습니다.
여기서 단순히
describe
나 it
등을 글로벌 변수로 등록해도 됩니다만, 앞서 쓴 환경설정의 mocha
알기 쉬워질 것이다.환경 설정을 변경하려면
/* eslint-env ... */
라고 쓰면 좋기 때문에
mocha
를 유효하게 하려면/* eslint-env mocha */
라고 쓰면 좋다.
후기
일본어의 해설이 없었기 때문에 썼지만, 자주 찾아보면 공식 문서에 그대로 타고 있거나 하기 때문에 기사로 할 정도도 아니다라고 생각하거나와... 아무튼 1밀리 정도 누군가의 도움이 되면. 끝.
참고
Configuring ESLint - ESLint - Pluggable JavaScript linter
ESLint 주석에서 규칙 제어 - Qiita
Reference
이 문제에 관하여(Mocha 테스트 파일에서 ESLint 오류 'describe' is not defined no-undef), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuta0801/items/3f1d57593130b50bbf88
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Configuring ESLint - ESLint - Pluggable JavaScript linter
ESLint 주석에서 규칙 제어 - Qiita
Reference
이 문제에 관하여(Mocha 테스트 파일에서 ESLint 오류 'describe' is not defined no-undef), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuta0801/items/3f1d57593130b50bbf88텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)