250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ngrok
- Github Actions
- macbook
- error
- docker
- AWS EC2
- deploy
- 500
- RDS
- Java
- fastapi
- Troubleshooting
- python
- axios
- EC2
- AWS
- linux
- MongoDB
- Spring
- javascript
- Express
- Jenkins
- MUI
- nodejs
- webhook
- js
- TypeScript
- springboot
- github
- React
Archives
- Today
- Total
BEAT A SHOTGUN
[TROUBLESHOOTING] pytest를 이용한 test 시 db 연결하기 본문
728x90
반응형
SMALL
만들어진 python server를 실행하면 DB에 연결하도록 만들어놓았는데,
테스트 코드는 어플리케이션의 코드와는 별도로 실행되기 때문에 DB 연결 또한 별도로 만들어줘야한다.
DB 뿐만 아니라 대부분의 초기화 작업을 따로 해줘야한다.
당연히 이 때 연결되는 DB는 실제 사용할 어플리케이션 DB와는 다른 DB를 연결해야겠지?
pytest에서는 fixture
를 이용해서 테스트 실행 전후에 자동으로 DB에 connect, close 할 수 있다.
pytest에서 테스트 설정을 정의할 때는 conftest.py
를 사용함.
test 디렉토리 최상단에 conftest.py
를 만들어주자.
# test/conftest.py
import pytest
from app.dbmodule import Mongodb
@pytest.fixture(scope="module", autouse=True)
def connect_mongodb():
db = Mongodb()
db.connect()
yield
db.close()
이러게 하면 테스트가 실행되면서 db에 연결되고 테스트가 완료된 뒤 연결이 해제된다.
autouse
를 True
로 했기 때문에 해당 fixture는 모든 테스트에서 자동으로 사용된다.
728x90
반응형
LIST
'TROUBLESHOOTING' 카테고리의 다른 글
[TROUBLESHOOTING] jose decrpy syntax error (0) | 2024.06.12 |
---|---|
최신 chorme 버전에 맞는 chromedriver 다운로드 (0) | 2023.12.06 |
[TROUBLESHOOTING] argument type mismatch (0) | 2023.11.05 |
[TROUBLESHOOTING] hibernate.dialect not set (0) | 2023.10.28 |
[TROUBLESHOOTING] Another CORS ERROR (0) | 2023.08.22 |
Comments