튜토리얼: GitLab Duo를 사용하여 Python 쇼핑 애플리케이션의 오류 수정하기
GitLab Duo를 사용하여 Python 쇼핑 애플리케이션의 오류를 수정하는 튜토리얼.
이 튜토리얼은 시리즈의 두 번째 파트입니다. 첫 번째 튜토리얼에서는 GitLab Duo를 사용하여 Python으로 쇼핑 애플리케이션을 만들었습니다 . 첫 번째 튜토리얼을 따라 진행했고 코드가 완벽하게 작동한다면, 라우트에서 오류 처리를 제거해 일반적인 오류를 만듭니다. 예를 들어 try 및 catch 블록과 입력 유효성 검사를 제거합니다. 그런 다음 이 튜토리얼에 따라 GitLab Duo의 도움을 받아 다시 추가합니다. 이 튜토리얼에서는 다음을 진행합니다: 포괄적인 테스트 케이스를 작성하고 테스트를 실행하여 수정해야 할 문제를 파악합니다. 데이터베이스 오류 처리와 연결 관리를 개선합니다. 데이터 유효성 검사를 구현합니다. 라우트에 강력한 오류 처리를 추가합니다. Flask 애플리케이션 구성을 개선합니다. 애플리케이션이 올바르게 작동하는지 확인합니다. 테스트 케이스 작성 # 시작하려면 Chat을 사용하여 웹 애플리케이션에 대한 포괄적인 테스트 케이스를 생성합니다. 잘 작성된 포괄적인 테스트 케이스는 다음과 같은 역할을 합니다: 코드가 작동하지 않는 부분을 체계적으로 식별합니다. 표준 조건과 오류 조건 모두에서 코드의 각 부분이 어떻게 동작해야 하는지 정확히 생각해 보도록 돕습니다. 수정해야 할 문제의 우선순위 목록을 만듭니다. 수정 사항이 제대로 작동하는지 즉시 검증할 수 있게 합니다. 테스트 케이스를 작성하려면 다음과 같이 진행합니다: IDE에서 Chat을 열고 다음을 입력합니다: I need to write comprehensive tests for a Flask API for a bookstore inventory. Here's the current minimal test file: import pytest def test_dummy(): """A dummy test that always passes.""" assert True Can you help me write proper tests for the application? The API has routes for: - GET /books - Get all books - GET /books/<id> - Get a specific book - POST /books - Add a new book - PUT /books/<id> - Update a book - DELETE /books/<id> - Delete a book I want to test both successful operations and error handling. Chat의 응답을 검토합니다. 설정 코드, 픽스처 정의, 각 라우트에 대한 테스트 함수를 포함하는 포괄적인 테스트 계획을 받게 됩니다. Chat의 응답을 검토한 후, 다음과 같은 후속 질문을 고려합니다: 테스트 픽스처 설계를 더 잘 이해하려면 다음과 같이 질문합니다: Can you explain why you're using these specific fixtures? What's the benefit of separating the