본문 바로가기
🎪 놀고있네/Python

[Python] Pytest 설치하고 사용하기

by 냥장판 2024. 4. 30.
반응형

 

Pytest는 Python에서 사용하는 테스팅 프레임워크임

단위 테스트를 쉽고 효율적으로 작성하고 실행할 수 있게 해준다기에 사용해 본다

Pytest에 주요 기능

  1. 간결한 테스트 코드 작성: pytest는 간단한 문법으로 테스트를 작성할 수 있게 해줍니다.
  2. 자동 테스트 발견: 특정 규칙에 따라 이름이 지정된 파일과 함수를 자동으로 찾아 테스트를 실행합니다.
  3. 풍부한 플러그인 지원: 다양한 플러그인을 통해 기능을 확장할 수 있습니다.
  4. 고급 Assertion 기능: 표현식의 결과를 자동으로 출력해주어 디버깅을 용이하게 합니다.
  5. 다양한 테스트 스타일 지원: xUnit 스타일의 테스트뿐만 아니라 단순한 함수 기반 테스트도 지원합니다.
  6. 픽스쳐(Fixture) 지원: 테스트 전/후에 실행할 코드를 정의하여, 테스트 환경을 설정하고 정리하는 데 도움을 줍니다.

 

터미널에 아래 명령어로 Pytest 를 설치함

pip install -U pytest

 

설치 완료

 

pytest를 사용할때는 파일명이 중요한데,

test_*.py or *_test.py 로 사용해야한다

 

test_sample.py 파일에

아래와 같은 예제 코드 작성

import pytest

def add(a, b):  # 테스트할 함수
    return a + b

def test_add():  # 테스트 케이스
    assert add(2, 3) == 5
    assert add(4, 5) == 9

 

pytest 실행

 

결과 dot 은 PASS 를 말하고 모든 테스트 케이스가 100% 실행되었다는 의미이다.

 

Fail 케이스를 만들어서 pytest 를 실행해보면

 

 

결과는 F 이고, assert 에서 5가 기대되는데 45와 일치하지 않아 Fail 이라는 결과가 뜸

 

 

참고: https://wikidocs.net/226791

 

PyTest: 테스팅 프레임워크

pytest[^pytest]는 Python에서 널리 사용되는 테스팅 프레임워크입니다. 이 프레임워크는 단위 테스트를 쉽고 효율적으로 작성하고 실행할 수 있게 해주며, 복잡한…

wikidocs.net

 

참고: https://docs.pytest.org/en/stable/

 

pytest: helps you write better programs — pytest documentation

pytest: helps you write better programs The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries. pytest requires: Python 3.8+ or PyPy3. PyPI package name: pytest

docs.pytest.org

 

반응형

댓글