* Pytest의 Fixture
- Pytest framework에서는 입력 인자를 Fixture로 명명하여 관리할 수 있다.
- Fixture를 사용하면 테스트 코드가 간결해지고, 재활용할 수 있어 효율적인 테스트를 할 수 있다.
- Fixture는 데코레이터(@pytest.fixture)를 활용하여 사용한다.
- Fixture를 이용해 함수를 변수처럼 사용
import pytest
@pytest.fixture
def square_10():
return 10 * 10
def test_square(square_10):
# fixture로 명명한 square_10은 변수처럼 사용
assert square_10 == 100
assert square_10 == 121
* Pytest fixture를 활용해 테스트코드 Setup, teardown 만들기
- Pytest의 fixture는 다음과 같은 경우 주로 사용한다.
- Fixture의 실제 사용 예는 다음과 같다.
테스트를 위한 특정 파일과 디렉토리를 만들고 테스트 종료 시 해당 파일과 디렉토리를 삭제한다.
DB를 연결하고 테스트 종료 시 DB 연결을 정상적으로 종료한다.
- 학습을 위해 다음과 같은 사용사례를 가정해 진행한다.
테스트를 위한 임시 디렉토리와 파일을 생성한다.
임시 파일에 데이터를 수집되었다는 것을 의미한다
데이터를 입력 완료 후 임시 디렉토리와 파일을 삭제한다.
테스트를 종료한다.