Счетчик утверждений во вложенном json - PullRequest
0 голосов
/ 21 октября 2019

Я следую коду Katalon, чтобы убедиться, что ответ на счет от API верен, но я получаю сообщение об ошибке, поэтому мне нужна помощь, чтобы увидеть, чего не хватает в моем коде.

No signature of method: Script1568233794882.assertThat() is applicable for argument types: (java.lang.Integer) values: [29]

response text: 
{
    "Error": {
        "A": {
            "dependency": [
                
            ],
            "duplicateRows": [
                
            ],
            "requiredFieldRows": [
                
            ]
        }
    },
    "Good": {
        "A": {
            "count": 29
        },
        "B": {
            "count": 35
        },
        "C": {
            "count": 37
        }
    },
    "type": "Test"
}

Я пробовал это

def response = WS.sendRequest(requestObject)
def responseList = new JsonSlurper().parseText(response.getResponseText())
println('response text: \n' + JsonOutput.prettyPrint(JsonOutput.toJson(responseList)))
assertThat(responseList.Good.A.count).isEqualTo("29")

Также попытался использовать [0], но он также не работает с ошибкой java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

assertThat(responseList.Good[0].A).isEqualTo("29")

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте использовать простой Groovy assert. Измените строку подтверждения следующим образом:

assert responseList.Good.A.count == 29
...