모범 사례 :이 휴식 할 수있는 경우
- , 그것을 테스트해야합니다. 여기에는 모델, 뷰, 양식, 템플릿, 유효성 검사기 등이 포함됩니다.
- 각 테스트는 일반적으로 하나의 기능 만 테스트해야합니다.
- 간단하게 유지하십시오. 기타 테스트 위에 테스트를 작성하고 싶지는 않습니다. 프로덕션으로 푸시하기 전에 코드가 저장소 및 준비 환경에서 PULL 또는 PUSH 될 때마다 테스트를 실행하십시오.
장고의 최신 버전으로 업그레이드 : 로컬
-upgrade, 테스트 스위트 -run
,
수정 - 버그의 REPO 및 준비에
-push , 그리고
코드를 발송하기 전에 다시 스테이징하십시오.
https://realpython.com/blog/python/testing-in-django-part-1-best-practices-and-examples/
장고 테스트를 작성할 때 유용하게 작은 도구 세트를 제공합니다.
테스트 클라이언트 테스트 클라이언트가 당신의 의견을 테스트하고 프로그래밍 방식 장고 - 전원이 공급되는 응용 프로그램과 상호 작용 할 수 있도록 더미 웹 브라우저 역할을하는 파이썬 클래스입니다. 당신이 테스트 클라이언트로 할 수있는 것들 중 일부는 다음과 같습니다
- 시뮬레이션은 GET과 URL에 POST 요청 및 응답 관찰 - 페이지로 낮은 수준의 HTTP에서 모든 (결과 헤더 및 상태 코드) 함유량.
- 리디렉션 체인 (있는 경우)을 확인하고 각 단계에서 URL 및 상태 코드 을 확인하십시오.
- 특정 Django 템플릿 에 의해 주어진 요청이 특정 값을 포함하는 템플릿 컨텍스트로 렌더링되는지 테스트합니다.
개요 및 빠른 예를
는 django.test의 인스턴스를, 테스트 클라이언트를 사용합니다.클라이언트 및 검색 웹 페이지는이 예에서 알 수
from django.test import Client
c = Client()
response = c.post('/login/', {'username': 'john', 'password': 'smith'})
response.status_code
200
response = c.get('/customer/details/')
response.content
'<!DOCTYPE html...'
, 당신은 파이썬 대화 형 인터프리터의 세션 내에서 클라이언트를 인스턴스화 할 수 있습니다.
테스트 응답 get() 및 post() 메서드는 모두 Response 개체를 반환합니다. 이 Response 객체는 Django 뷰에서 반환 한 HttpResponse 객체와 다릅니다. 테스트 응답 객체는 테스트 코드가 검증하는데 유용한 몇 가지 추가 데이터를 가지고있다.
요청하기 django.test.Client 클래스를 사용하여 요청하십시오. 당신이 예외를 발생 뷰에서 테스트 클라이언트를 가리키면
class Client(enforce_csrf_checks=False, **defaults)
예외 는, 그 예외는 테스트 케이스에서 볼 수 있습니다. 그런 다음 표준 try ... except 블록 또는 assertRaises()를 사용하여 예외를 테스트 할 수 있습니다.
제공된 테스트 케이스 클래스 일반 Python 유닛 테스트 클래스는 unittest.TestCase의 기본 클래스를 확장합니다. 자세한 정보와 더 많은 예제 방문 https://docs.djangoproject.com/en/1.7/topics/testing/tools/
당신이 사용하는 경우에 대한 계층 장고 단위 테스트 클래스 (TestCase의 서브 클래스)
계층 장고 단위 테스트 클래스의
: 장고 몇이 기본 클래스의 확장을 제공 sublimetext 사용자 정의 스 니펫을 만들어 테스트를 생성 할 수 있습니다. 스 니펫에 대한 자세한 내용은 http://courses.tutsplus.com/courses/perfect-workflow-in-sublime-text-2 –