study
Test-Drive-Development 본문
TDD는 Test-Drive-Development의 약자로 소프트웨어 블록을 개발할 때 미리 그 소프트웨어가 만족해야할 입력과 출력 집합을 정의해놓고 개발하는 것을 말합니다.
장점
- 객체 지향적인 코드 작성(모듈화를 지향, 종속성과 의존성이 낮음)
- 디버깅 시간의 단축(unitest를 지향)
- 유지보수 용이
단점
- 생산성 저하, 비용증가
- 진입 장벽이 높다(팀원들이 TDD에 익숙하지 않은 경우 개발에 집중하기 어려움)
TDD를 위해 python unittest를 활용하여 간단하게 구현해보겠습니다
calculator.py 사칙연산을 위한 함수 정의
unit_test.py를 통해 앞서 작성한 calculator.py 함수 테스트
테스트 결과
method들이 정상적으로 동작
asseretion 메소드
unittest 모듈의 TestCase 클래스는 assertEqual 말고도 assert로 시작하는 많은 메서드를 제공합니다. 그 중에서 많이 쓰이는 메서드를 이용해서 테스트를 추가로 작성해보았습니다.
Fixture
Fixture란 테스트가 수행되기 이전에 준비과정 혹은 테스트가 종료된 이후에 클린업하는 과정을 의미합니다. 예를 들어, 테스트를 위한 임시 데이터 베이스나 폴더를 생성하고 테스트가 끝난후에 이들을 정리하는 등의 일입니다.
- setUp()
- 각 테스트 메소드를 호출하기 이전에 호출되는 메소드입니다. 테스트 케이스가 실행될 때 마다 사용됩니다.
참고자료
※ 본 게시물은 가짜연구소 데이터 엔지니어링 스터디 내용으로 구성되었습니다 ※
'Data Engineer with Python' 카테고리의 다른 글
데코레이터 (0) | 2022.03.13 |
---|---|
효율적으로 파이썬 코드 작성하는법 (0) | 2022.03.06 |
과제 1. 가상화폐 데이터로 해보고 싶은 것 (0) | 2022.02.28 |
Introduction to Data Engineering (0) | 2022.02.27 |
Data Engineering for Everyone (0) | 2022.02.22 |