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

时间:2016-03-07 11:36:37

标签: soap groovy soapui soap-client

如果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之前返回。因此断言虽然它会失败。

我有办法实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

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

以下是您需要做的事情:

您可以在脚本

中选择以下两个选项
  1. 使用If - 如果条件失败,则显示错误
  2. 使用断言 - 在断言失败时显示错误消息
  3. 下面是完整的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()