如果在 SoapUI 中断言失败,则返回错误响应



如果断言在SoapUI中失败,我想返回自定义错误消息。

我写过断言。即使断言失败,我总是得到正常的响应。

我尝试了以下脚本:

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()

但这将在执行断言之前返回。因此,尽管断言应该失败,但它还是会传递。

有没有办法实现这一点?

这是因为脚本只返回一条消息,但不会使它失败。此外,return不应在此处使用。由于存在return,代码中的assertion语句从未达到。

以下是您需要执行的操作:

您可以选择两个选项,如下所示 脚本中给出

  1. 使用 if - if 条件失败,则显示错误
  2. 使用断言 - 显示断言失败时的错误消息

这是下面完整的 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()

最新更新