어느 코드를 작성하든지, 당신은 API를 테스트하여 요청이 예상대로 처리되고, 전송된 응답이 정확하며, 데이터베이스에서 수행되는 작업이 올바르고 유지되는지 확인하고 싶을 것이다.
모든 테스트와 마찬가지로, API에 대한 unittests를 작성하는 것은 동작을 검증한다. API의 경우 다음과 같이 테스트가 기록되어야 한다.
Behaviors를 검증하는 것 외에도 철저한 test suits를 갖추면 API를 업데이트 할 때 이전의 모든 기능들을 쉽게 테스트 할 수 있다.
앱 개발을 위한 운영 순서는 항상 다음과 같아야한다:
1. Develpment
2. Unit Testing
3. Quality Assurance
4. Production
class AppNameTestCase(unittest.TestCase): #1
"""This class represents the ___ test case"""
def setUp(self): #2
"""Executed before each test. Define test variables and initialize app."""
self.client = app.test_client
pass
def tearDown(self): #3
"""Executed after reach test"""
pass
def test_given_behavior(self): #4
"""Test _____________ """
res = self.client().get('/') # endpoint를 지정해준다.
self.assertEqual(res.status_code, 200)
# Make the tests conveniently executable
if __name__ == "__main__": #5
unittest.main()
setUp
fauction을 정의하고 실행한다.teatDown
메소드를 정의한다.setUp
이 성공적으로 실행되는 한 실행된다."test_"
로 시작해야하며 test의 목적에 관한 doc string을 포함해야 한다.self.assertEqual
을 사용하여 status code 및 모든 관련 operations를 확인해야 한다.python test_file_name.py
를 실행한다.테스트 기반 개발(또는 TDD)은 프로덕션에서 매우 일반적으로 사용되는 소프트웨어 개발 패러다임이다. Executable code 이전에 테스트를 작성하며 지속적으로 반복하는 짧고 빠른 개발 주기에 기반을 두고 있다.