2017-10-20 2 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でなければならないか、オプションである必要がありますか?あなたが応答を

ところで、このhttp://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__contract_dsl.html#_dynamic_properties_in_matchers_sectionsを使用して、カスタムアサーションに任意のjsonpath要素を渡すことができます/全身の一部上の任意のカスタム表明を行いたい場合は

あなたは書くことができますheaders { contentType(applicationJson()) }

関連する問題