전체보기

    19. miniter API Unit test 1

    19. miniter API Unit test 1

    miniter API 를 Unit test 하기 위해 새로 test_endpoints.py 파일을 생성한다. 일단 파일만 만들고 테스트를 할 DB를 만든다. unit test의 테스트 DB에 접속할 수 있도록 config.py 파일을 수정한다. db = { 'user' : 'root', 'password' : 'qwer123123!', 'host' : 'localhost', 'port' : 3306, 'database' : 'miniter' } DB_URL = f"mysql+mysqlconnector://{db['user']}:{db['password']}@{db['host']}:{db['port']}/{db['database']}?charset=utf8" test_db = { 'user' : 'test..

    18. 단위 테스트 (Unit test) 와 여러 테스트들

    18. 단위 테스트 (Unit test) 와 여러 테스트들

    테스트를 하는것은 중요하지만 그보다 더 중요한 것은 테스트를 자동화 시키는 것이다. 사람이 직접 테스트 하는 것을 메뉴얼 테스트 (manual test) 라 하는데 직접 일일이 하는 것이므로 테스트 속도와 시간이 오래 걸린다는 것이 문제다. 그렇기 때문에 인력과 시간이 부족한 현장에서는 테스트 자동화가 중요하다는 것이다. 이 책에서는 3가지 테스트 방법을 소개한다. UI test / End-To-End test UI를 통해서 하는 테스트 ,프론트엔드 부터 백엔드 까지 실행시키고 연결해야 하는 테스트 이기 때문에 오래걸리며 완벽하게 자동화 하기 까다롭다. 이 책의 저자는 10% 정도는 UI test 를 할 것을 권장한다. Intergration test 지금까지 해 왔던 것이 바로 이 테스트이다. 기능을 ..

    Error code: 404

    Error code: 404

    정말 정말 이거 때문에 오래동안 헤메고 있었다. 이 에러는 친절하게도 주어진 URI 에 맞는것이 없다고 하는데 나는 분명 책에 있는 명령어를 철저하게 입력하였음에도 불구하고 이런 에러가 일어나 굉장히 당황스러웠다. 지금까지 작성한 코드를 싹다 갈아 엎어야 하는가? 하는 의문까지 가지고 있었는데 이럴때는 침착하게 내가 요청하는 URI 가 실제로 존재하는지... 존재 한다면 그 파일 이름과 URI 에서의 이름이 일치하는가에 대해서 한 번 살펴볼 필요가 있다. 일단 책에는 이렇게 쓰여져 있다. 하지만 실제로 클론한 폴더를 들여다 보자 파일의 이름이 달랐다. 이렇게 파일의 이름이 하나라도 다르면 인식을 하지 못해서 찾을 수 없다는, 위와 같은 에러를 내뱉는다. 이런 에러가 다시 발생한다면 이번 에러 발생을 떠올..

    17. 샘플 프론트엔드 시스템과 CORS 문제 해결

    17. 샘플 프론트엔드 시스템과 CORS 문제 해결

    이전에 decorator 함수를 구현한 코드가 제대로 작동하는지, DB와의 연결은 유효한지, 인증은 엔드포인트가 작동하는지 여부를 확인하기 위해 이 책의 저자가 작성한 프론트엔드 시스템을 이용하기로 한다. 먼저 https://github.com/Yeri-Kim/python-tutorial-frontend 를 클론(clone)한다 여기서 클론은 서버에서 로컬로 repository를 복사하는 것을 말한다. 클론 후 해당 디렉토리로 이동하고 다음의 명령어를 입력한다. python -m http.server 실행 하면 8000 포트 상에서 실행 중 이라는 것을 알 수 있다. miniter API 는 5000포트 상에서 실행되는데 문제는 8000 포트와 5000 포트는 서로 상이한 환경이라서... 다른 말로는 출..