Unit Test

    20. miniter API Unit test 2

    20. miniter API Unit test 2

    ● 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가 스트링이 아닌 b..

    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 지금까지 해 왔던 것이 바로 이 테스트이다. 기능을 ..