Makefile이 없을 때 Perl 테스트 커버리지
3689 단어 codequalityqaperltesting
Devel::Cover
문서에는 how to run the module several ways이 나열되어 있지만 prove
의 테스트를 실행하는 대신 Makefile
자체를 실행하는 방법을 정확히 설명하지 않습니다. 오늘은 방법을 알아냈고 the Baughs’으로 몇 가지 방법을 더 알아봤습니다.아래의 모든 예는
bash
또는 zsh
명령 셸을 사용하며 zsh
5.7.1 및 Perl 5.32.1을 실행하는 macOS Catalina 10.15.7에서 테스트되었습니다. 매우 다른 것을 사용하는 경우(예: Microsoft WindowsCMD
또는 PowerShell) 환경 변수를 다르게 설정해야 할 수 있습니다.임시 테스트 커버리지
하고 싶은 모든 것이 하나의 셸 명령을 실행하는 것이라면 다음과 같습니다.
$ prove -vlre 'perl -MDevel::Cover -Ilib' t
이것은 테스트를 위해 다른 실행 파일을 실행하기 위해
prove
의 --exec
옵션( -e
으로 축약됨)을 활용합니다. 재귀적으로( -r
) 응용 프로그램 라이브러리를 로드하는 동안 ( -v
) t
실행 파일은 ( -l
및 679) 145 perl
하위 디렉토리. 나는 debugging tests 때 비슷한 기술을 사용합니다.$ HARNESS_PERL_SWITCHES=-MDevel::Cover prove -vlr t
이것은 다른 실행 파일을 실행하지 않고 위와 거의 동일한 작업을 수행합니다.
-M
명령이 실행되는 동안 Devel::Cover
' lib
환경 변수를 설정합니다. 하지만 마지막에 테스트 커버리지의 텍스트 출력을 얻지 못하고 커버리지를 보고 웹 페이지를 생성하려면 여전히 Test::Harness
의 HARNESS_PERL_SWITCHES
명령을 실행해야 합니다.전용 테스트 세션, 창 또는 탭에서
테스트 실행 전용 터미널 세션, 창 또는 탭이 있는 경우 해당 세션에 대해 위의 환경 변수 중 하나를 설정합니다.
$ export HARNESS_PERL_SWITCHES=-MDevel::Cover
이제 모든 테스트 스크립트가 해당 옵션을 선택합니다. 환경 변수 값을
prove
따옴표 Devel::Cover
로 묶어 더 많은 옵션을 추가할 수 있습니다. 예를 들어 코드 프로파일링을 위해 로드 cover
할 수도 있습니다.$ export HARNESS_PERL_SWITCHES='-MDevel::Cover -MDevel::NYTProf'
왜 안 돼 ' ?
'
환경 변수를 설정하면 Devel::NYTProf
실행 중인 PERL5OPT
옵션도 설정됩니다. 즉, 테스트 범위, 프로파일링 등이 PERL5OPT
의 실행과 테스트 스크립트를 선택하게 됩니다.펄은 어떻습니까?
나는 확실히 모른다;
prove
제품군을 사용하지 않습니다. 그러나 prove
옵션을 로드하고 전달하기 위한 yath
옵션이 있는 것 같습니다.
Reference
이 문제에 관하여(Makefile이 없을 때 Perl 테스트 커버리지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mjgardner/perl-test-coverage-when-you-don-t-have-a-makefile-2gim텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)