2017-03-10 1 views
1

json 객체에 여러 속성이 포함 된 경우 각 속성마다 어설 션을 작성해야합니까? 아니면 더 좋은 방법이 있습니까?휴식 API 자동화에서 json 필드를 선언하는 가장 좋은 방법은 무엇입니까?

예 : { 'id': 123, 'first_name': 'bruce', 'last_name': 'wayne', 'phone': 12345, 'is_superhero': '예' can_fly ''uses_tech '', 일명 ' "배트맨"다음}}

지금, 난 주장을 작성할 수

접근법 1 :

assertEquals (대응 ['데이터 '] [' first_name '] =='bruce ') 등 모든 속성에 대해 json 응답에 100 개의 필드가 있다면 테스트 코드에 100 assertEquals가 포함될 것이라고 상상해보십시오.

접근법 2 :

내가하지만 그때마다 변경 바인딩 된 JSON 객체 &에 존재하는 (ID 등) 동적 값이있을 때 그것이 어떻게 작동하는지, json으로 비교 할 수 있습니다!

API 자동화를 수행하고 복잡한 json 객체에 어서션을 만든 경우, 나는 당신이 따라온 접근법을 기대하고있다.

더 나은 접근 방법이 필요하다고 생각합니다. 어떤 제안?

답변

0

JSON 스키마를 사용하는 것이 좋습니다. 자세한 내용은 여기 https://spacetelescope.github.io/understanding-json-schema/을 참조하십시오. 당신은 당신이 JSON 스키마와 같은 라이브러리를 확인할 수있는 API에 대한 스키마가 있으면

, 여기를 확인하십시오 https://github.com/wolverdude/GenSON :

https://pypi.python.org/pypi/jsonschema은 또한 당신이 GenSON 라이브러리에 자동으로 JSON에서 스키마를 생성 할 수 있습니다. 이 라이브러리에는 한계가 있으므로 요구 사항에 맞게 생성 된 스키마를 조정해야한다는 점을 고려하십시오.

+0

답변을 주신 @enrique에게 감사드립니다. 그것은 좋은 접근법 중 하나가 될 수있는 것 같습니다. json 스키마 + 특정 변경/새 특성에 대한 설명이 필요합니다. 맞다. –

관련 문제