[Python/Unittest] Unittest

2024. 12. 2. 15:44·Minding's Programming/Knowledge
728x90
반응형

Unittest?

Python의 테스트 프레임워크인 unittest는 코드 상의 특정 기능을 테스트하기 위해 작성된다. 일반적으로 특정 입력을 주고 예상된 출력이 나오는지의 형태로 테스트한다. 최근 CI/CD의 자동화와 안정성이 중요해지면서 전체 코드의 테스트 커버리지의 중요성도 함께 높아졌는데, 이 때 Python코드에서는 unittest가 일반적으로 사용된다.

 

unittest는 테스트 케이스를 class 단위로 작성하고, 그 안에 포함된 여러가지 메서드를 통해 기능을 테스트한다. 아래 코드는 unittest의 예시다.

import unittest

class TestStringMethods(unittest.TestCase):

    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')

    def test_isupper(self):
        self.assertTrue('FOO'.isupper())
        self.assertFalse('Foo'.isupper())

    def test_split(self):
        s = 'hello world'
        self.assertEqual(s.split(), ['hello', 'world'])
        with self.assertRaises(TypeError):
            s.split(2)

if __name__ == '__main__':
    unittest.main()
    
>>>
...
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK

assertEqual(), assertTrue, assertFalse등의 메서드를 통해 위 함수의 결과값이 예상한 결과와 같은지 확인하고, 그에 따른 결과를 성공/실패로 판단해 결과를 출력해준다.

728x90

'Minding's Programming > Knowledge' 카테고리의 다른 글

[프로젝트] Catch Me My Capital - 합리적인 투자 의사결정을 위한 금융 데이터 파이프라인 및 백테스팅 도구 (프로젝트 소개 편)  (0) 2025.02.06
[Kafka/Python] Kafka 설치 방법(Conduktor)  (1) 2024.12.05
[Docker] Docker Volume  (0) 2024.11.15
[CI/CD] CI, CD 개념 및 Github Actions  (1) 2024.11.14
[BI/시각화] Superset  (1) 2024.10.31
'Minding's Programming/Knowledge' 카테고리의 다른 글
  • [프로젝트] Catch Me My Capital - 합리적인 투자 의사결정을 위한 금융 데이터 파이프라인 및 백테스팅 도구 (프로젝트 소개 편)
  • [Kafka/Python] Kafka 설치 방법(Conduktor)
  • [Docker] Docker Volume
  • [CI/CD] CI, CD 개념 및 Github Actions
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터 엔지니어
    KalmanFilter
    django
    야구
    django python
    칼만필터는어렵지않아
    메이저리그
    Python
    질롱코리아
    데이터분석
    딥러닝
    칼만필터는어렵지않아python
    Airflow
    AWS
    pygame
    파이썬게임개발
    칼만필터
    칼만필터는어렵지않아파이썬
    mlb stats api
    넘파이
    파이썬
    MLB
    프로그래머스
    에어플로우
    머신러닝
    FastAPI
    코딩테스트
    게임개발
    KBO
    파이게임
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[Python/Unittest] Unittest
상단으로

티스토리툴바