django 단원 테스트 총결산
테스트 용례 작성:
django.test
python 표준 라이브러리unittest
를 계승했기 때문에 자신의 테스트 용례 클래스 계승django.test.TestCase
하면 된다: from django.test import TestCase
class MyClassTestCase(TestCase):
def SetUp(self):
#
pass
def test_my_func(self):
# my_func
pass
예를 들어 일반적인 테스트 용례 클래스는 하나의 업무 클래스에 대응하고 이 테스트 클래스에서 이 업무 클래스의 각 방법에 대한 단원 테스트를 완성한다.
./manage.py test
기본 예시 실행 문장: 현재 디렉터리에 있는test로 시작하는py 파일을 발견하고 실행합니다.또한 사용자는 용례가 있는 디렉터리와 용례 파일 이름이 일치하는 규칙을 스스로 지정할 수 있습니다.
response = self.client.get('/vpc/list')
self.assertEquals(response.status_code, 302)
request = self.request_factory.post('vpc/list', data={'start': 0, 'length': 10})
vpc_manage = VpcManage(request)
self.assertEquals(res['recordsTotal'], 0)
2. 모크의 사용:
단원 테스트는 주로 함수급 기능을 테스트하기 때문에 mock을 통해 측정 함수에서 호출된 방법에 대해 말뚝을 박아 테스트에 편리한 값을 되돌려야 한다.
vpc_manage.get_user_info = mock.Mock(
return_value=mock.Mock(**self.user_info_attrs))
res = vpc_manage.vpc_list()
res = json.loads(res)
3. 용례 집행:
1. 용례만 실행:
python manage.py test -v 2
2. 덮어쓰기:
pip install coverage
coverage run --source '.' manage.py test -v 2
macbook:portal zhaoxueyong$ coverage report
Name Stmts Miss Cover authclient/init.py 2 0 100% authclient/authexception.py 12 4 67% authclient/authuser.py 81 62 23% authclient/decorators.py 81 48 41% authclient/settings.py 26 4 85% authclient/test.py 9 0 100% authclient/urls.py 4 0 100% authclient/views.py 28 21 25% libs/init.py 0 0 100% libs/ac_config.py 6 0 100% libs/agile_controller.py 464 333 28% libs/constants.py 17 0 100% libs/json_helper.py 19 5 74% libs/logger.py 39 22 44% libs/mongo_tool.py 43 21 51% manage.py 13 6 54% project/init.py 0 0 100% project/settings.py 24 0 100% project/urls.py 3 0 100% project/wsgi.py 4 4 0% vpc/init.py 0 0 100% vpc/admin.py 4 0 100% vpc/apps.py 4 4 0% vpc/forms.py 173 90 48% vpc/manage.py 1079 812 25% vpc/migrations/0001_initial.py 8 0 100% vpc/migrations/init.py 0 0 100% vpc/models.py 206 11 95% vpc/tasks.py 5 5 0% vpc/tests/init.py 0 0 100% vpc/tests/test_router_manage.py 13 0 100% vpc/tests/test_views.py 24 6 75% vpc/tests/test_vpc_manage.py 80 0 100% vpc/urls.py 3 0 100% vpc/views.py 168 118 30% TOTAL 2642 1576 40%
참조 문서:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.