org.assertj.core.api.Assertions didNotContain包含数组错误

问题描述 投票:0回答:1

我想使用dosNotContain来确保响应中不包含字符串。但遇到错误。

应该使用什么正确的参数?

测试脚本:

import static org.assertj.core.api.Assertions.*

def testjson= new JsonSlurper().parseText(new String(response.responseText))
println('response text: \n' + JsonOutput.prettyPrint(JsonOutput.toJson(testjson)))


assert (testjson.testLines.lineId.contains("test123"))

assert (testjson.testLines.lineId.doesNotContain("test456"))

错误

Reason:
groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.doesNotContain() is applicable for argument types: (java.lang.String) values: [test456]

样本响应:

{
    "testId": "default",
    "createdDate": "2020-05-11T01:51:32.986Z",
    "lastUpdatedDate": "2020-05-11T01:51:32.986Z",
    "testLines": [
        {
            "lineId": "test123",
            "itemId": "test/test123"
        },
        {
            "lineId": "test999",
            "itemId": "test/test999"
        }
    ]
}
assert assertion katalon-studio assertj
1个回答
1
投票

编译器抱怨doesNotContain()方法需要其他输入。我不知道该方法,但是如果contains()方法有效,则可以使用“!”否定该方法的结果。在逻辑语句之前:

assert (!testjson.testLines.lineId.contains("test123"))
© www.soinside.com 2019 - 2024. All rights reserved.