● ping 엔드포인트 테스트 코드 작성
def test_ping(api): # 1
resp = api.get('/ping') # 2
assert b'pong' in resp.data # 3
# 1. ping 엔드포인트를 테스트하는 함수, 여기서 api는 위의 코드인 def api 함수의 리턴값인 test clinet를 자동으로 적용시켜준다.
# 2. test clinet의 get 메소드를 통해서 가상의 GET 요청을 /ping URL 와 연결되어있는 엔드포인트에 보낸다.
# 3. 위의 2를 실행 후 리턴받은 응답의 body에 "pong" 이라는 텍스트가 포함되어 있는지 확인한다.
"pong" 앞에 붙어있는 b 는 해당 스트링을 byte로 변환시켜 주는 역할을 한다. resp.data가 스트링이 아닌 byte 이므로 byte로 변환해서 비교하는 것이다.
그 후 ubuntu 터미널에서 pytest 명령어를 입력하여 테스트를 한다.
이렇게 test client를 통해 가상의 HTTP 요청을 전송해 엔드포인트를 호출한 후 테스트 하는 방식이다. 다음으로 tweet 엔드포인트를 테스트 한다.
'Backend > Flask 개발일지' 카테고리의 다른 글
19. miniter API Unit test 1 (0) | 2022.02.03 |
---|---|
18. 단위 테스트 (Unit test) 와 여러 테스트들 (0) | 2022.02.02 |
14. 인증 (Authentication)절차와 비밀번호 암호화 (0) | 2022.01.23 |
13. SQLAlchemy를 이용하여 API와 DB 연결하기 (0) | 2022.01.19 |
12. vscode 에 MySQL 연동하기 (0) | 2022.01.17 |