from: 만들면서 배우는 웹 개발 A to Z 장고 부트스트랩 파이썬 웹 개발의 정석 p244 테스트 주도개발 적용하기
개발하려는 항목에 대한 점검 사항을 테스트 코드로 만들고 통과시키며 진행하는 개발 패턴
웹페이지가 운영되면서 모델, 연관성이 복잡해짐. 웹에서 확인하는 과정을 필수적으로 진행해야 하나 매번 소스코드를 테스트 하기 어렵기 때문에 자동화 시킴
테스트 코드 작성 -> 기능 구현 -> 리팩토링
python manage.py test
클래스 정의
뷰티풀숩4로 페이지 요소 다룰 수 있도록 함
setUp(sef)함수에 기본적으로 설정되어야 하는 사항 입력
e.g.
self.client = Client()
클라이언트는 테스트 위한 가상 사용자
from django.test import TestCase, Client
class TestView(TestCase):
def setUp(self):
self.client = Client()
def test_post_list(self):
#1.1 커뮤니티 목록 페이지 가져옴
#1.2 정상적으로 페이지 로드
#1.3 페이지 타이틀 'Community'
#1.4 네비게이션바에 introduction community login register 문구가 보임
#2.1 메인에 게시물이 없다면
#2.2 '아직 게시물이 없습니다' 문구가 보임
#3.1 게시물이 있다면
#3.2 목록 새로고침을 했을 때
#3.3 메인에 포스트 타이틀이 존재함
#3.4 '아직 게시물이 없습니다' 문구가 더이상 보이지 않음
실제 운영중인 데이터 베이스에서 CRUD를 할 수 없으므로 가상의 데이터베이스 생성
테스트 코드