2016-09-25 2 views
0

Django REST Framework를 사용하여 RESTful API 서버를 개발하고 응용 프로그램이 완성되는 동안 엔티티 서명이 변경되는 경우가 있습니다. 이 응용 프로그램에 대한 테스트를 작성하는 동안 Django의 문서에 대해 REST API를 테스트 할 수 있습니까?

, 나는이 문서에 명시된 바와 같이 그 API 반환 데이터를 확인 할 수있는 도구가 있는지 궁금해하기 시작했다, 즉 사용자 엔티티는 모든 필수 필드 등 내가 API 있다는 것을 알고

을 포함 django-rest-swagger와 같은 자동 문서화 도구와 사용자에게 반환 된 데이터가 문서에서와 동일한 서명을 가지고 있다고 주장하는 데 도움이되는 도구가 있습니까?

답변

0

왜 간단한 단위 테스트로 테스트하지 않습니까? API url을 Django'u url_patterns에 올바르게 매핑했다고 가정합니다.

그럼 당신은 단순히 단위 장고 REST 프레임 워크를 테스트 할 수 있습니다 Test Cases

다음

코드 조각입니다 : 나는 그것이 가능성이 매우 긴 해결책이 있는지 알고

class InboxNotificationForPlayerViewTest(APITestCase): 
    def test_returns_delivered_inbox_notifications(self): 
     """...""" 
     response = self.client.get(reverse(
      'notifications-api:inbox-for-player', kwargs={'player_id': self.subscriber.player_id} 
     )) 

     self.assertEqual(response.status_code, status.HTTP_200_OK) 
     self.assertItemsEqual(response.data, { 
      'count': 3, 
      'not_read': 2, 
      'notifications': { 
       'read': [ 
        inbox_payload(classic), 
        inbox_payload(without_window) 
       ], 
       'not_read': [ 
        inbox_payload(read) 
       ] 
      } 
     }) 

rest_framework.test 수입 APITestCase에서하지만, 앞으로의 개발에 도움이 될 것으로 확신합니다. 응답 데이터 형식의 모든 변경 사항은 테스트 시작마다 추적됩니다.

+0

이 해결책으로 문제를 제거하지 않습니다 - 문서가 변경할 수 있으며, 시험은 그 통지를하지 않습니다. 전체 사양은 어딘가에 저장되어야하며 API 테스트의 유일한 진원지 여야합니다. –

관련 문제