2017-05-16 6 views
0

간단한 노드 JS 애플리케이션이 있고 모카와 함께 이스탄불을 사용하여 코드 커버리지 보고서를 생성합니다. 이것은 잘 작동합니다.코드에 대한 테스트가없는 경우 실패한 코드 범위

새로운 기능을 작성했지만 테스트를 만들지 않거나 테스트 파일을 만들지 않아도이를 확인할 수 있습니까?

나의 궁극적 인 목표는 테스트가 전혀없는 코드가 우리의 지속적인 통합 프로세스에 의해 선택되고 빌드에 실패하는 것입니다.

이것이 가능합니까?

답변

0

당신이 달성 할 수있는 한 가지 방법은 코드 적용 범위를 사용하는 것입니다.

"check-coverage": "istanbul check-coverage --root coverage --lines 98 --functions 98 --statements 98 --branches 98" 

파일을 package.json 파일에 추가하기 만하면 필요에 따라 임계 값을 변경하십시오. 코드가 작성되었지만 테스트가없는 경우 적용 범위가 축소됩니다.

+0

안녕하세요. 귀하의 답변에 감사드립니다. 나는 이미 내 package.json에서 그 명령을 사용하고 있지만 테스트없이 가지고있는 파일을 선택하지 않는 것 같습니다. 또한 명령을 실행하기 전에 먼저'coverage.json' 파일을 생성하기 위해'cover' 명령을 실행해야합니다. –

0

나는이 문제를 해결하는 올바른 방법인지 모르겠지만 먼저 cover 명령을 실행하고 매개 변수 --include-all-sources을 추가하여 다음 테스트 파일없이 코드에보고하고 생성 된 coverage.json 파일에 추가 .

그런 다음 check-coverage을 실행하면 실패합니다. 내 CI 프로세스에서 나는 cover을 먼저 실행 한 다음 check-coverage

개인적으로 나는 처음에는 이것을 보지 못했던 약간의 혼란 스럽거나 명확하지 않은 문서를 찾았다.