Django의 manage.py test
명령을 사용하여 테스트 실행이 완료된 후 통과 된 테스트 수만 콘솔에 인쇄됩니다.
(virtualenv) G:\Project\>python manage.py test
Creating test database for alias 'default'...
True
..
----------------------------------------------------------------------
Ran 2 tests in 0.017s
OK
Destroying test database for alias 'default'...
볼 수있는 방법이 있습니까?
- 실제로 실행 된 테스트
- 어떤 모듈에서
- 어떤 순서로
문서에서 해결책을 찾지 못했습니다.
답변
-v 2
다음 test
명령에 전달할 수 있습니다 .
python manage.py test -v 2
이 명령을 실행하면 다음과 같은 내용이 표시됩니다 (django 2를 사용하고 있으므로 마이그레이션 / 데이터베이스 항목은 무시해도됩니다).
Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Operations to perform:
Synchronize unmigrated apps: messages, staticfiles
Apply all migrations: admin, auth, contenttypes, sessions
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Running migrations:
Applying contenttypes.0001_initial... OK
...
Applying sessions.0001_initial... OK
System check identified no issues (0 silenced).
test_equal_hard (polls.tests.TestHard) ... ok <--------+
test_equal_simple (polls.tests.TestSimple) ... ok <--------+
|
|
That's your tests! >----------------------------+
그건 그렇고, v
verbosity를 의미합니다 (당신은 또한 사용할 수 있습니다 --verbosity=2
) :
python manage.py test --verbosity=2
다음은 발췌 한 내용입니다 python manage.py test --help
.
-v {0,1,2,3}, –verbosity {0,1,2,3}
상세 수준; 0 = 최소 출력, 1 = 정상 출력, 2 = 상세 출력, 3 = 매우 자세한 출력
답변
Nigel의 대답은 훌륭하고 확실히 진입 장벽이 가장 낮습니다. 그러나 더 나은 피드백을 얻을 수 있습니다django_nose
(그리고 설정 하는 것은 그리 어렵지 않습니다 ).
아래는 출처 : BDD with Python
먼저 : 몇 가지 요구 사항을 설치합니다.
pip install nose pinocchio django_nose
그런 다음 다음을 추가하십시오. settings.py
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-spec', '--spec-color']
그런 다음 정상적으로 테스트를 실행하십시오.
python manage.py test
출력은 다음과 같아야합니다.
참고 : 테스트의 주석은 이름보다 더 나은 결과를 제공하는 데 사용할 수 있습니다.
예 :
def test_something(self):
"""Something should happen"""
...
테스트를 실행할 때 “뭔가 일어나야합니다”를 출력합니다.
추가 포인트 : 코드 커버리지를 생성 / 출력 할 수도 있습니다.
pip install coverage
settings.py의 NOSE_ARGS에 다음을 추가하십시오. '--with-coverage', '--cover-html', '--cover-package=.', '--cover-html-dir=reports/cover'
예 :
NOSE_ARGS = ['--with-spec', '--spec-color',
'--with-coverage', '--cover-html',
'--cover-package=.', '--cover-html-dir=reports/cover']
그런 다음 실행할 때 멋진 코드 커버리지 요약 python manage.py test
과 깔끔한 HTML 보고서를reports/cover