Игнорировать поля для сопоставления в ответ от контроллера в контрактных тестах - PullRequest
0 голосов
/ 28 января 2020

Поскольку меня интересует только проверка некоторых значений из ответа на мой Контрактный тест, я хочу пропустить те поля, которые не важны для меня. Дело в том, что когда я запускаю тест, сгенерированный тестовый файл проверяет, совпадает ли тело, определенное в тесте . groovy, с файлом, сгенерированным из контроллера. Итак, мой вопрос: есть ли способ просто утверждать те значения, которые меня интересуют.

test. groovy

Contract.make {
    request {
        method 'GET'
        urlPath('/api/node') {
            queryParameters {
                parameter('number', '123')
                parameter('size', '1')
                parameter('status', 'ACTIVE')
            }
        }
        headers {
            header("key", "someKey")
        }
    }
    response {
        status 200
        headers {
            contentType applicationJson()
        }
        body("""
  "content":[
     {
        "id": "123456",
        "status":"ACTIVE",
        "details":[
           {
              "object":{
                 "id":"ccId",
                 "codeOne":"1",
                 "codeTwo":"2",
                 "codeThree":"3",
                 "_links":{
                    "self":{
                       "href":"https://url.com"                        
                    },
                    "style":{
                       "href":"https://universal-url.com"

                    },
                    "universalStyle":{
                       "href":"https://universal-style-v1-url.com"                      
                    }                  
                 }              
              }
              "code":null              
           }            
        ]

Это ошибка, которую я получаю

org.junit.ComparisonFailure: expected:<"[content]"> but was:
<"[{"links":[
{"rel":"first","href":"http://localhost/api/node?number=123&status=ACTIVE&page=0&size=1"},
{"rel":"prev","href":"http://localhost/api/node?number=123&status=ACTIVE&page=0&size=1"},
{"rel":"self","href":"http://localhost/api/node?number=123&size=1&status=ACTIVE"},
{"rel":"last","href":"http://localhost/api/node?number=123&status=ACTIVE&page=1&size=1"}],
"content":[{"id":"123456",...

В этом случае я не хочу проверять какой-либо связанный с массивом "links". Есть ли какая-либо конфигурация, которую я могу использовать, чтобы обойти ее?

1 Ответ

0 голосов
/ 28 января 2020

Только не помещайте их в ответ, и они не будут генерироваться.

...