如果SoapUI
中的断言失败,我想返回自定义错误消息。
我写了断言。即使断言失败,我总是得到OK回复。
我尝试了以下脚本:
def assertionList = []
def idNotNull = (id!=null) ? "(id is not null" : assertionList.add("(id is null")
if(!assertionList.isEmpty())
{
return "exceptionResponse"
}
assert assertionList.isEmpty() : assertionList.toString()
但是这会在执行assert之前返回。因此断言虽然它会失败。
我有办法实现这个目标吗?
答案 0 :(得分:1)
这是因为脚本只返回一条消息,但没有让它失败。此外,return
不应该在这里使用。由于存在return
,因此代码中的assertion
语句永远不会到达。
以下是您需要做的事情:
您可以在脚本
中选择以下两个选项下面是完整的groovy脚本,请注意在您提供的脚本中找不到id
属性,因此添加以避免属性丢失错误。
def assertionList = []
def id
def idNotNull = (id!=null) ? "(id is not null" : assertionList.add("(id is null")
/**
* You may use one of the below two options
*/
//Option 1 : Using If condition fails, then Error
//not required to use isEmpty() like you did or null, by default it will check
if(assertionList){
throw new Error(assertionList.toString())
}
//Option 2:Using assertion
assert 0 == assertionList.size() : assertionList.toString()