pytest로 단위 테스트

Python 테스트 입문

Alexander Levin

Data Scientist

단위 테스트란

단위 - 테스트 가능한 가장 작은 작동 단위.

  • 단위 예: 함수, 메서드, 클래스, 모듈 등

$$

단위 테스트 - 소프트웨어 테스트 방법.

  • 단위의 정확성을 정밀하게 확인할 수 있음.

$$

테스트 케이스 - 단위 입력과 기대 출력의 모음.

  • 특정 문제 조각을 요약함.
Python 테스트 입문

단위 테스트를 쓰는 이유

단위 테스트 - 소프트웨어의 "큰 그림"을 테스트하는 토대.

사용 시점:

  • 버그를 발견했을 때
  • 개발 중
  • 변경 사항 적용 후
Python 테스트 입문

단위 테스트 만드는 법

단계별:

  1. 테스트할 단위를 결정
  2. 테스트 케이스 정의(창의적 작업):
    • "가능한 단위 결과는?"
    • "단위를 어떻게 사용할 수 있는가?"
    • "각 경우 단위는 어떻게 동작해야 하는가?"
  3. 각 테스트 케이스의 코드 작성
  4. 테스트 실행 및 결과 분석
Python 테스트 입문

단위 테스트 만들기: 예시

테스트할 단위:

# 원소의 합을 구하는 함수
def sum_of_arr(array:list) -> int:
    return sum(array)

테스트 케이스:

  1. 입력이 숫자 리스트(정상) - sum을 반환
  2. 입력이 빈 리스트 - 0 반환
  3. 입력이 하나의 number를 포함 - 그 number 반환
Python 테스트 입문

단위 테스트 만들기: 코드

# Test Case 1: regular array
def test_regular():
    assert sum_of_arr([1, 2, 3]) == 6
    assert sum_of_arr([100, 150]) == 250
# Test Case 2: empty list
def test_empty():
    assert sum_of_arr([]) == 0
# Test Case 3: one number
def test_one_number():
    assert sum_of_arr([10]) == 10
    assert sum_of_arr([0]) == 0
Python 테스트 입문

요약

단위 테스트 - 단위가 기대대로 동작하는지 확인하는 테스트.

테스트 케이스 - 특정 문제 조각의 입력과 출력 요약.

사용 시점:

  • 버그를 발견했을 때
  • 개발 중
  • 변경 사항 적용 후

테스트 케이스 정의 - 창의성이 필요함.

Python 테스트 입문

연습해 봅시다!

Python 테스트 입문

Preparing Video For Download...