테스트 디렉토리를 적용 범위에서 제외할 수 있습니까?py 보고서?
저는 파이썬 유닛 테스트, 특히 coverage.py 를 하는 신인입니다.범위 보고서에 실제 테스트 파일의 범위를 포함하는 것이 바람직합니까?
예를 들어 HTML 보고서의 스크린샷입니다.
보고서에 다음이 포함되어 있음을 확인할 수 있습니다.tests/test_credit_card
처음에 나는 생략하려고 했습니다.tests/
다음과 같은 보고서의 디렉터리:
coverage html --omit=tests/ -d tests/coverage
저는 그 명령어의 여러 변형을 시도했지만 아무리 해도 테스트를 받을 수 없었습니다./제외되었습니다.패배를 인정한 후, 저는 테스트 파일이 보고서에 포함되어야 하는지에 대해 의문을 품기 시작했습니다.
누가 이것을 밝혀줄 수 있습니까?
coverage html --omit="*/test*" -d tests/coverage
만들다.coveragerc
프로젝트 루트 폴더에 있는 파일로, 다음을 포함합니다.
[run]
omit = *tests*
Django 개발자가 프로젝트를 위해 .coverager가 필요할 경우를 대비하여 이것을 여기에 둡니다.
[run]
source = .
omit = ./venv/*,*tests*,*apps.py,*manage.py,*__init__.py,*migrations*,*asgi*,*wsgi*,*admin.py,*urls.py
[report]
omit = ./venv/*,*tests*,*apps.py,*manage.py,*__init__.py,*migrations*,*asgi*,*wsgi*,*admin.py,*urls.py
프로젝트 루트 디렉터리에 .coverager라는 이름의 파일을 만들고 위의 코드를 붙여넣은 다음 명령을 실행합니다.
coverage run manage.py test
또한 테스트를 더 빨리 실행하려면 이 명령을 대신 실행합니다.
coverage run manage.py test --keepdb --parallel
이렇게 하면 테스트 DB가 보존되고 테스트가 병렬로 실행됩니다.
다음을 생성하여 제외할 디렉터리를 지정할 수 있습니다..coveragerc
프로젝트 루트에 있습니다.
가상 환경을 제외하는 데 사용할 수 있는 와일드카드 및 설명(효과적인 추적에 매우 유용)을 지원합니다.
아래 코드 블록은 다음과 같은 방법을 보여줍니다.omit
여러 파일 및 디렉터리와 함께 사용할 수 있습니다(최신 설명서 참조).
[run]
omit =
# omit anything in a .local directory anywhere
*/.local/*
# omit everything in /usr
/usr/*
# omit this single file
utils/tirefire.py
당신의 경우, 당신은 다음을 가질 수 있습니다..coveragerc
:
[run]
omit =
# ignore all test cases in tests/
tests/*
적용 범위 보고서에 대한 질문에 대해 다음과 같은 방법으로 테스트 및 적용 범위에 대해 생각할 수 있습니다.
실행할 때
pytest
또는unittest
소스 코드에 대한 모든 테스트 사례가 실행됩니다.실행할 때
coverage
소스 코드에서 사용되지 않는 부분을 보여줍니다.범위가 포함된 파이테스트를 실행할 때(예:
pytest -v --cov
), 모든 테스트 사례를 실행하고 소스 코드 중 사용되지 않는 부분을 표시합니다.
추가:
- 구성 파일에서 HTML 리포트의 위치를 다음과 같이 지정할 수도 있습니다.
[html]
directory = tests/coverage/html_report/
이것은 내부에 html, js, css 등을 만들 것입니다.tests/coverage/html_report/
달릴 때마다coverage
또는pytest -v --cov
또한 생략할 내용을 지정하는 대신 적용할 코드가 있는 디렉토리를 명시적으로 지정할 수 있습니다.인어.coveragerc
가 파일, 관심디호출경는우되가리터렉▁the▁of,경▁file▁directory▁if우▁is▁called,는호▁interest되.demo
이것은 처럼 보입니다.
[run]
source = demo
언급URL : https://stackoverflow.com/questions/1628996/is-it-possible-exclude-test-directories-from-coverage-py-reports
'source' 카테고리의 다른 글
CSS3 전환 애니메이션 로드 중? (0) | 2023.08.20 |
---|---|
다른 사용자로 오라클 저장 프로시저 실행 (0) | 2023.08.20 |
Spring WebServiceTemplate에서 시간 초과를 설정하는 방법 (0) | 2023.08.20 |
java.lang을 가져오는 중입니다.ClassNotFoundException: javax.servlet입니다.Junit의 서블릿 컨텍스트 (0) | 2023.08.20 |
잘못된 레일 교차 출발지 요청 (0) | 2023.08.15 |