통합 테스트 중에 실제로 편안한 API (또는 일반적인 HTTP 인터페이스)를 사용하여 반복 사용 사례에서 작업하고 있음을 알았습니다 .bash + cURL로 여기 저기 확인하십시오.
꽤 지저분 해 보이며 유지하기가 더 어려워집니다. 왜 엉망이 되나요?
일반적인 사용 사례는 다음과 같습니다.
- URL이 http 응답 코드 (예 : 200)를 반환하는지 확인
- 이 경우 콘텐츠 유형이 필요한 일부 MIME과 일치하는지 확인하십시오.
- 리턴 된 컨텐츠가 일부 패턴과 일치하는지 또는 추상 유효성 검증 절차를 통과하는지 확인하십시오.
내가 지금까지 발견하고 바퀴를 재발 명하지 않고 실행 가능한 옵션을 고려하는 것은 다음과 같습니다.
- PyCurl을 사용하십시오-모든 cURL 옵션 esp를 완전히 구현하기를 바랍니다. 프록 싱뿐만 아니라 필요한 다른 스위치
- Python의 내장 단위 testng 사용
그런 다음 예를 들어 확인하려는 서비스 당 하나의 단위 테스트를 수행 할 수 있습니다.
import unittest, pycurl
class TestService (unittest.TestCase):
def test_1(self):
self.assertEqual(pycurl.returncode("some_url"), 200)
def test_2(self):
self.assertTrue(pycurl.response("some_url").matches ("xxx") )
def test_3(self):
self.assertTrue (pycurl.ContentType("some_url").equal("xxx"))
if __name__ == '__main__':
unittest.main()
이것이 의미가 있거나 더 높은 수준의 툴을 가져 오거나 통합하기에는 너무 복잡한가?