TDD: 테스트 주도 개발 (Test Driven Development )

이다연·2021년 4월 26일
0

Django

목록 보기
31/33

from: 만들면서 배우는 웹 개발 A to Z 장고 부트스트랩 파이썬 웹 개발의 정석 p244 테스트 주도개발 적용하기

테스트 주도 개발

개발하려는 항목에 대한 점검 사항을 테스트 코드로 만들고 통과시키며 진행하는 개발 패턴

웹페이지가 운영되면서 모델, 연관성이 복잡해짐. 웹에서 확인하는 과정을 필수적으로 진행해야 하나 매번 소스코드를 테스트 하기 어렵기 때문에 자동화 시킴

테스트 코드 작성 -> 기능 구현 -> 리팩토링

  1. 점검 코드 작성, 기능 구현하지 않았기 때문에 테스트 결과는 실패
  2. 테스트 코드 통과 가능하도록 기능 구현
  3. 기능의 성능 향상시키거나, 재사용성, 가독성 좋은 코드로 개선
python manage.py test

클래스 정의
뷰티풀숩4로 페이지 요소 다룰 수 있도록 함
setUp(sef)함수에 기본적으로 설정되어야 하는 사항 입력
e.g.

self.client = Client()

클라이언트는 테스트 위한 가상 사용자

1. tests.py에 테스트할 내용 나열

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 '아직 게시물이 없습니다' 문구가 더이상 보이지 않음
       

2. 테스트 코드 작성

실제 운영중인 데이터 베이스에서 CRUD를 할 수 없으므로 가상의 데이터베이스 생성

테스트 코드
profile
Dayeon Lee | Django & Python Web Developer

0개의 댓글