2011-09-23 4 views
1

일부 응용 프로그램이 포함 된 간단한 장고 프로젝트가 있습니다. 모든 것이 잘 작동합니다. 이제 프로젝트의 코드 커버리지를 확인합니다. 난 coverge-3.5 도구를 설치하고 터미널에서 "커버리지 보고서"를 입력하여 적용 범위를 알려고했습니다. 가깝지만가장고 응용 프로그램에 대한 적용 범위를 아는 방법?

NAME -----> (내 프로젝트에서 일부 파일)

STMS 같은 몇 가지 결과를 보여줍니다 -----> (일부 번호)

MISS ----- > (일부 숫자)

커버 -----> (일부 %)

필자의 경우 일부 파일 이름 만 보여주는 결과가 표시됩니다. 내 프로젝트의 모든 파일에 대한 적용 범위를 표시하지 않았습니다. 내 파일 이름을 모두 표시하려면 어떻게해야합니까 ????

아는 경우 더 나은 작동 범위 도구를 제안하십시오.

답변

4

먼저 최신 적용 버전을 사용하고 있는지 확인하십시오. 당신이 할 수있는 것보다 : 는 project_parent 실행에서, 당신의 장고 프로젝트가 project_parent/프로젝트 아래에 사는 가정 :

coverage html --include=project/*.* 

이 당신에게 단지 프로젝트의 커버리지 보고서를 줄 것이다 (즉, 출력하지 제 3 자 lib에 적용하지)

coverage run --source=app1,app2 ./manage.py test --settings=path.to.test_settings app1,app2 

나는 이것이 우리가 전혀 ./manage.py test_coverage 명령을 사용하지 않기 때문에 그것을 할 의도 방법이라고 생각하지 않지만, :

+0

응답 해 주셔서 감사합니다. 3.5 사용 범위를 사용 중입니다. 3.5.1 해당 경로에서 html --include = myproject /*.*를 실행하면 "보고 할 데이터 없음"을 반환합니다. – mani

+0

경로로 놀아보십시오 (내가 사용하는 프로젝트에서이 방법으로 작동합니다).하지만 --include가 포함 된 경로는 잘 설명되어 있지 않습니다. – ashwoods

+0

그게 나를 위해 일하고 있지 않습니다. "내 보험 보상 테스트를 실행하기 위해"내 보험 테스트 케이스를 실행하기 위해 "coverage run.py"테스트를 사용 했었습니다. 그런 다음 "coverage report"를 사용하여 보험 보상 리포트를 찾습니다. 그것은 잘 작동합니다. 그러나 제 3 자 lib 커버리지도. 어떻게 프로젝트 테스트 케이스 혼자서 커버리지를 표시 할 수 있습니까? – mani

6

것은 난 그냥이 같은 작업있어 나는 다른 어떤 방법도 찾을 수 없었다.

+0

다음과 같이 작동합니다 :'coverage run --include = usermanager/*, witness/* --omit = .env/*, */migrations/*, */__ init __. py, */tests.py, */models.py, manage.py ./manage.py usermanager 목격자 테스트 --settings = digichainOpen.settings' – williezh

2

은 내가 설치 INSTALLED_APPS 'django_coverage'와 settings.py

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' 

# Tell nose to measure coverage on the 'foo' and 'bar' apps 
NOSE_ARGS = [ 
    '--with-coverage', 
    '--cover-package=schedule', 
] 

에 'django_nose'이와

에 추가

django_coverage와 함께이 문제를 해결하고 django_nose을 관리 그것

pip i nstall django_coverage

어떻게 사용합니까?

전체 장고 응용 프로그램 장소로 설치 : 타사에서

django_coverage 응용 프로그램이 apps 디렉토리.

django_coverage를 포함하도록 settings.INSTALLED_APPS을 (를) 업데이트하십시오.

사용자 설정 파일에 테스트 범위 특정 설정을 포함하십시오.

자세한 내용은 settings.py를 참조하십시오. 모든 단계를 완료하면 에서 manage.py test_coverage를 통해 새로운 맞춤 명령을 사용할 수 있습니다.

이것은 manage.py 테스트와 동일하게 작동합니다. 당신은 당신이하고 싶지 않아 응용 프로그램으로 django_coverage를 설치할 필요가 없습니다 테스트 러너

사용을. 원한다면 을 테스트 러너로 간단하게 사용할 수 있습니다. 업데이트 설정. TEST_RUNNER = 'django_coverage.coverage_runner.CoverageRunner'테스트 커버리지 특정 설정을 사용자 고유의 설정 파일에 포함시킵니다. 자세한 내용은 settings.py에서 을 참조하십시오. 평소처럼 manage.py 테스트를 실행하십시오.

관련 문제