본문 바로가기
반응형

Development27

04. 테스트와 리팩토링 TDD에 대한 의문점 코드를 구현할수록 테스트 또한 점점 복잡해진다. 그리고 반복적인 노력이 아깝게 생각이 들다보니 아래와 같은 의문이 든다. 테스트가 지나치게 많은 것이 아닌가. 테스트가 일부 중복되는 것 아닌가. 단위 테스트와 기능 테스트 사이에 분명히 중복된 부분이 있다. django.core.urlresolvers 불러오는 건 왜 테스트하는가. 이건 Django 프레임워크 테스트, 서드파티 코드 테스트 아닌가. 지금까지 선언 한 줄 테스트, 상수값 반환 검사 같은 단위 테스트는 너무나 자명한(당연한) 것들 아닌가. home_page = None 같은 코드는 단위 테스트/코딩 반복 과정에서 좀 건너 뛰어도 되는 것 아닌가. 실무적으로 정말 이렇게까지 코딩해야 하는가. TDD 과정에서 이러한 질문을 .. 2019. 7. 28.
03. 시작 페이지 단위 테스트 첫 번째 Django 앱과 단위 테스트 lists라는 이름의 Django 앱을 만든다. $ python manage.py startapp lists 지금까지 작업한 내용에 따라 파일/디렉토리 구조는 아래와 같다. superlists/ db.sqlite3 function_tests.py geckodriver.log lists/ migrations/ __init__.py admin.py apps.py __init__.py models.py tests.py views.py manage.py superlists/ __init__.py settings.py urls.py wsgi.py 단위 테스트와 기능 테스트의 차이 기능 테스트는 사용자 관점에서 기능을 올바르게 구현하고 동작하는지 확인하는 것이다. 단위 테스트.. 2019. 7. 28.
02. unittest 모듈과 기능 테스트 보통 블로그, 게시판, 투표 프로젝트 등으로 웹 프로그래밍을 설명한다. 그러나 본 교재에서 만드는 프로젝트는 일정관리(To-Do List) 프로그램이다. 이 프로그램은 충분히 웹 프로그래밍의 다양한 기법을 소개하면서도 복잡하지 않은 장점이 있다. 스토리보드(user story) 스토리보드 작성 및 기능 테스트 실행 기능 테스트는 사람마다 다르게 부르지만 그 의미는 같다. 기능 테스트(Functional Test) == 합격 테스트(Acceptance Test) == 종단 테스트(End-to-End Test) 기능 테스트의 시작점은 스토리보드 또는 시나리오(user story)를 작성하는 것이다. 스토리보드/시나리오는 프로그래밍 언어가 아니라 사람의 언어로 기술하는 것이다. 아래와 같이 function_t.. 2019. 7. 28.
01. Django 그리고 기능 테스트 테스트 염소에 절대 복종하라. 테스트 염소(Testing goat)는 파이썬 커뮤니티에서 TDD의 비공식적인 마스코트이다. 테스트 염소에 절대 복종하라는 말을 하는데 이는 개발 과정에서 무조건적으로 테스트를 작성하라는 뜻이다. 일반적으로 웹 프레임워크 개발의 첫 시작은 다운로드, 설치, 설정 후 스크립트 실행으로 설명한다. 반면에 TDD에서 개발의 첫 시작은 언제나 테스트를 작성하는 것이다. 테스트를 하는 이유는 코드가 올바르게 동작하는 것을 확인하는 것보다도 예상한대로 오류가 발생하는지 확인하는 것이다. 만약 테스트가 단순히 코드가 올바르게 동작하는 것을 확인하는 것뿐이라면 테스트는 구현과 다를 바 없고 결국 테스트하지 않은 것이다. Django 프로젝트 만들기 superlists라는 이름의 Djang.. 2019. 7. 28.
반응형