Pytest
1.1 테스트 케이스 만들기

- 함수 이름이
test 로 시작해야합니다
- 함수 이름이 테스트하는 케이스에 대한 설명을 표현해주는 게 좋습니다
- 함수의 인자값은 fixture나 parameter가 들어갑니다 (뒤에서 설명)
- 처음에는 무조건 실패하도록 만들어 줍시다
1.2 Fixture
- “테스팅을 하는데 있어서 필요한 부분들을 혹은 조건들을 미리 준비해놓은 리소스 혹은 코드” (Referred from
https://twpower.github.io/19-about-python-test-fixture)
- 테스트 로직과는 상관이 없는 의존성 및 반복되는 코드 등을 재사용가능하게 만듦
- return value는 캐싱됨 (scope 설정에 따라 캐시가 지워지는 타이밍 변경 가능)
- 실무에서는 DB나 외부 시스템들을 테스트에서 쉽게 접근할 수 있도록 만들곤 함
- pytest에는 유용한 fixture들을 기본적으로 제공해줌
FastAPI testing
client fixture
- FastAPI의 테스트 클라이언트를 호출합니다.
- @pytest.fixture 데코레이터로 fixture로
등록합니다.
- 기본 scope인 function으로, 테스트가 끝난 뒤에
이 fixture가 사라집니다.
- assignment 모듈에서 만들었던 app을 가지고
TestClient 객체 인스턴스를 생성합니다.

1.3 테스트 실패 확인하기
1.4 테스트 성공하게 만들기