无论如何匹配groovy脚本中的对象

时间:2016-10-01 18:25:39

标签: groovy soapui

休息回应

<Carlist>
<Car>
<Car Name = 'Santro'/>
</Car>
</Carlist>

JDBC响应

<Row number =1>
<CarName>SANTRO</CarName>
</Row>

是否可以使用groovy Script比较这两个响应。我尝试在gpath中使用toUpperCase使用groovy脚本,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

在Java API中,有一种现成的方法:String.equalsIgnoreCase(String)。当然,它也可以在Groovy中使用:

// assuming variables restCarName and jdbcCarName
boolean matches = restCarName.equalsIgnoreCase(jdbcCarName)

当然,如果restCarNamenull,那么这将抛出NullPointerException,但您也可以使用Groovy elvis运算符(?:)来解决这个问题。 null - 安全会员令牌(?.):

boolean matches = restCarName == jdbcCarName ?: restCarName?.equalsIgnoreCase(jdbcCarName)

即使完全相等失败(包括null == null),则尝试忽略大小写(如果null为空,则为restCarName(false)结果。