如何在restasured body()方法中参数化groovy语句

如何在restasured body()方法中参数化groovy语句,groovy,rest-assured,Groovy,Rest Assured,我正在尝试使用csv文件作为数据源编写一个参数化测试。如果存在键,我想检查json节点是否有数字。这是我的第一次尝试: @ParameterizedTest(name = "{index} => name={0}") @CsvFileSource(resources = "fields.csv", numLinesToSkip = 0) void verifyFields(String name) { Response response = getResponse(); // re

我正在尝试使用csv文件作为数据源编写一个参数化测试。如果存在键,我想检查json节点是否有数字。这是我的第一次尝试:

@ParameterizedTest(name = "{index} => name={0}")
@CsvFileSource(resources = "fields.csv", numLinesToSkip = 0)
void verifyFields(String name) {
    Response response = getResponse(); // rest - assured query response
    response
            .then()
            .assertThat()
            .body("components.any { it.containsKey('" + name + "') }", is(true));
但在尝试验证密钥
xzy
是否存在时,我不断收到以下错误:

 Caused by: groovy.lang.MissingMethodException: No signature of method: java.util.HashMap$Node.containsKey() is applicable for argument types: (String) values: [xyz]

我不确定我是否正确使用了groovy语句。我只是想使用文件中的参数

也许这个GPath可以帮助
components.keySet().contains('fieldName')
还可以看看