Backend/pytest 3

[pytest] 테스트 코드에서 명령행 인자 전달하는 방법 (feat. argparse)

아래와 같이 argparse 모듈을 통해 명령행 인자를 입력받는 함수 main()이 있다. # main.py import argparse def main(): parser = argparse.ArgumentParser() parser.add_argument("--name", default="sangwon") args = parser.parse_args() return args.name if __name__ == "__main__": print(main()) main.py는 아래과 같이 실행할 수 있다. >> python main.py --name YoonSangWon YoonSangWon 그렇다면 테스트 코드에서 main 함수에 명령행 인자를 전달하기 위해서는 어떻게 해야 할까? monkeypatch f..

Backend/pytest 2023.06.15

[pytest] Fixture

Fixture 테스팅을 하는데 있어서 필요한 조건들을 미리 준비해놓은 리소스 또는 코드 예) 특정 조건으로 구성된 데이터베이스, 데이터 셋 Fixture 생성 예시 @pytest.fixture 데코레이터를 함수에 붙여 fixture로 만들 수 있다. import pytest @pytest.fixture def my_fruits(): return ["apple", "banana", "grape", "orange"] Fixture를 사용하지 않는 경우 def test1(): fruits = ["apple", "banana", "grape", "orange"] assert len(fruits) == 4 def test2(): fruits = ["apple", "banana", "grape", "orange"]..

Backend/pytest 2023.06.10

[pytest] 파이썬 테스팅을 위한 pytest 사용법

pytest 설치 방법 pip install pytest pytest 실행 방법 1. 현재 디렉토리에서 테스트 pytest 현재 디렉토리 내에 존재하는 test_*.py 또는 *_test.py 형식의 파일들을 모두 테스트한다. 2. 특정 파일만 테스트 # pytest pytest test_file.py 3. 특정 경로에서 테스트 # pytest pytest testing/ 이 때, 테스트해야 하는 파일의 이름은 test_*.py 또는 *_test.py 형식이어야 한다. 4. 특정 키워드를 갖는 요소만 테스트 # pytest -k pytest -k 'MyClass and not method' keyword expression에 부합하는 이름을 갖는 파일, 클래스, 함수를 테스트한다. 위 명령어를 입력할 경..

Backend/pytest 2023.06.09