2017-10-20 1 views
0

spring-cloud-contract 프레임 워크를 사용하여 계약서를 작성하는 동안 주어진 텍스트와 일치하는 응답의 특정 필드 만 테스트하는 방법이 있습니까?봄 구름 콘택트 생성에서 응답에 partcular를 체크합니다.

package contracts 
import org.springframework.cloud.contract.spec.Contract 

Contract.make { 

request { 
    method 'GET' 
    url value(consumer(regex('/app/emp/employee/[0-9]{3}')), producer('/app/emp/employee/151')) 
} 

response { 
    status 200 
    body([ 
      subjectsList: null, 
      errorResponse: null, 
      status: 'success', 
      employeeList: null, 
      Employee: [ 
       EmployeeId: 151, 
       firstName: 'xxx', 
       lastName: 'xxx', 
       middleName: 'xxx', 
       dateOfBirth: 01012001, 
       status: 'inbound', 
       cin: '345', 
       ssn: null, 
       EmployeeType: 'HoH', 
       preferredLanguage: 'french', 
       preferredContactMethod: null, 
       createdBy: null, 
       creadtedOn: null, 
       updatedBy: null, 
       updatedOn: null, 
       transactionId: null 
      ], 
      paginated: null 
    ]) 
    headers { 
     header('Content-Type': value(
       producer(regex('application/json.*')), 
       Employee('application/json') 
     )) 
    } 
} 

}

대신 완전 반응을 쓰기 만 특정 검사 예에 대한 응답에 존재하는 속성 수있는 방법이 있나요 : 언어 = 사전에

감사합니다 '프랑스', 당신의 도움이 대단히 감사드립니다.

답변

0

물론 다른 모든 입력란은 삭제하십시오. 당신이 몸에 넣은 것이 무엇이든지 주장 될 것입니다. 계약과 함께하는 일은 스키마처럼 보입니다. 필드가 null 인 경우, 그 필드는 거기에있어, null 또는 오히려 옵션 일 필요가있는 것을 의미합니다. 당신이 응답을

BTW이 http://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__contract_dsl.html#_dynamic_properties_in_matchers_sections를 사용하여 사용자의 주장에 대해 어떤 jsonpath 요소를 전달할 수 있습니다/몸 전체의 부분에 사용자 정의 주장을하고 싶은 경우

당신은 쓸 수 headers { contentType(applicationJson()) }

관련 문제