해결된 질문
작성
·
276
0
update 코드를
@app.patch("/todos/{todo_id}", status_code=status.HTTP_200_OK)
def update_todo_handler(
todo_id: int,
is_done: bool = Body(..., embed=True),
session: Session = Depends(get_db),
):
todo: ToDo | None = get_todo_by_todo_id(session=session, todo_id=todo_id)
if todo:
todo.done() if is_done is True else todo.undone()
todo: ToDo = update_todo(session=session, todo=todo)
return ToDoSchema.from_orm(todo)
return HTTPException(status_code=404, detail="Todo not found")
위와 같이 작성하고 난뒤에 ,
테스트 코드 200 을 제외한 우선 404 기준으로만 작성했을때
# 404
mocker.patch("main.get_todo_by_todo_id", return_value=None)
response = client.patch("/todos/1", json={"is_done": True})
assert response.json()['status_code'] == 404
assert response.json()['detail'] == "Todo not found"
다음과 같이 작성했을때 통과가 됐습니다.
하지만 위의 작성된 코드는 영상과 다른 코드입니다.
저렇게 정확히 키값을 설정을 해줘야만 통과가 되더라구요.
제가 어디를 놓치고 있는걸까요 ?
답변 1
0
안녕하세요. 테스트가 통과하지 않는 경우, 어떤 assert 문에 assertion error가 잡히나요?
에러 메세지와 코드를 첨부해주시면 디버깅에 도움을 드릴 수 있을 것 같습니다.
assert response.json() 문에서 error 가 발생했는데요 .
조금 더 디버깅해보고 print 찍어보고 해서 해결을 했네요 ㅎ
관련 에러 내용 다시 찾아보고 말씀드릴려고 했지만 찾지 못했습니다.
감사합니다 !