반응형
테스트 코드를 작성하다보면 client를 사용해 uri요청을 보낼 때가 있습니다.
그리고 쿼리 파라미터(query string)는 패스 파라미터와 마찬가지로 uri를 텍스트로 작성해 보낼 수 있습니다.
uri를 만드는 방법 세 가지를 함께 보겠습니다.
방법1. 일반 텍스트
response = client.get(
"http://0.0.0.0:8000/users?limit=10&offset=0"
)
하지만 텍스트로만 작성할 경우, 하나의 케이스만 테스트 할 수 있는 정적 값이 되고 맙니다.
방법2. f-string
다음처럼 f-string을 통해 동적 값을 넣어줄 수 있습니다.
limit = 10
offset = 0
response = client.get(
f"http://0.0.0.0:8000/users?limit={limit}&offset={offset}"
)
limit과 offset을 변수로 만들어 다양한 케이스를 동적으로 테스트할 수 있습니다.
방법3. parmas=
더 나아가 pytest에서는 parmas 값을 딕셔너리로도 넣어줄 수도 있습니다.
이 경우, parmas={} 형태를 가집니다.
limit = 10
offset = 0
response = client.get(
"http://0.0.0.0:8000/users",
params={"limit": limit, "offset": offset},
)
이렇게 딕셔너리로 params를 넣어줘도 위에서 본 uri와 동일하게 요청을 보낼 수 있습니다.
정리
쿼리 파라미터 uri를 만드는데 어떤 방법이든 상관은 없습니다.
그저 테스트 케이스에 적합한 uri를 작성하고 가독성을 높이는데 집중하면 됩니다.
반응형
'나는 이렇게 학습한다 > Library' 카테고리의 다른 글
konlpy _ m1 mac 에서의 JAVA_HOME 경로 문제 (0) | 2022.05.07 |
---|---|
SQLAlchemy _ add() 와 add_all() 사용법과 차이점 (0) | 2022.05.02 |
SQLAlchemy 1.x 와 2.0의 Query 스타일 비교 (0) | 2022.04.25 |
SQLAlchemy에서의 비동기 쿼리 (feat. 2.0 Style) (0) | 2022.04.24 |
SQLAlchemy를 이용해 csv파일 DB업로드 하는 방법(feat. psql) (2) | 2022.04.21 |