Logo
내 게시판 만들기
파이썬

pytest fixture — 테스트 데이터·환경 관리

다람쥐 | 2026.04.27 13:14:02
조회 14 | 추천 0

fixture는 pytest의 핵심 개념입니다.

「테스트가 필요로 하는 사전 준비물(DB 연결·임시 파일·테스트 데이터)을 함수로 정의하고 자동 주입」하는 메커니즘.

의존성 주입의 테스트 버전.



기본 사용.

import pytest.

@pytest.fixture def sample_data(): return [1, 2, 3].

def test_sum(sample_data): assert sum(sample_data) == 6.

테스트 함수의 인자 이름이 fixture 이름과 일치하면 자동으로 주입됨.



yield로 정리 코드.

@pytest.fixture def temp_file(): f = open("tmp", "w"); yield f; f.close(); os.remove("tmp").

yield 다음은 테스트 종료 후 실행.

setUp/tearDown을 한 함수에 깔끔히.



scope로 생성 빈도 제어.

@pytest.fixture(scope="function")(기본, 테스트마다), "class", "module", "session"(전체 1회).

DB 연결 같은 비싼 자원은 session으로 한 번만 만들어 재사용.



conftest.py — 공유 fixture.

같은 폴더의 conftest.py에 fixture 정의하면 그 폴더의 모든 테스트가 자동으로 접근 가능.

별도 import 없음.

테스트 코드의 중복 제거에 핵심.




한 줄 요약


pytest fixture는 사전 준비물을 함수로 정의·자동 주입합니다.

yield로 정리, scope로 생성 빈도, conftest.py로 공유.

테스트의 핵심 추상화.




더 알아볼 것


- fixture 의존성 — fixture가 fixture 사용

- autouse=True — 자동 적용

- factory fixture 패턴

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
191 부엉이 26/04/27 12 0
190 곰돌이 26/04/27 16 0
189 부엉이 26/04/27 15 0
188 부엉이 26/04/27 12 0
187 멍뭉이 26/04/27 11 0
186 부엉이 26/04/27 12 0
185 햇살이 26/04/27 14 0
184 곰돌이 26/04/27 14 0
183 부엉이 26/04/27 11 0
182 멍뭉이 26/04/27 14 0
181 부엉이 26/04/27 12 0
180 야옹이 26/04/27 13 0
179 햇살이 26/04/27 16 0
178 야옹이 26/04/27 14 0
177 햇살이 26/04/27 14 0
176 너구리 26/04/27 12 0
175 멍뭉이 26/04/27 12 0
174 곰돌이 26/04/27 12 0
173 토순이 26/04/27 9 0
172 토순이 26/04/27 15 0
171 햇살이 26/04/27 11 0
170 멍뭉이 26/04/27 12 0
169 토순이 26/04/27 12 0
168 다람쥐 26/04/27 14 0
167 곰돌이 26/04/27 14 0
166 다람쥐 26/04/27 14 0
165 토순이 26/04/27 13 0
164 구름이 26/04/27 17 0
163 곰돌이 26/04/27 13 0
162 다람쥐 26/04/27 11 0
신고하기

신고 사유를 선택해 주세요.