SoapUI 断言以匹配两边 0.05 以内的字段值
SoapUI Assertion to match field value within 0.05 on either side
我目前有一个断言脚本,该脚本将响应中的值与设置值相匹配。见下文:
// get the xml response
def response = messageExchange.getResponseContent()
// parse it
def xml = new XmlSlurper().parseText(response)
// find your node by name
def node = xml.'**'.find { it.name() == 'total-premium' }
// assert
assert node.toString().matches("(0|27.11|0)\d*"), 'Expected Result: 0 or 27.11 or 0 Actual Result: ' + node
我想要它做的是匹配低于和高于 0.05 的值。因此,对于这个特定的脚本,如果 total-premium
值介于 27.06 和 27.16 之间,我需要断言为真。
目前,断言代码将字段 total-premium
中的数值与 matches("(0|27.11|0)\d*")
中的三个值相匹配。
但是,我可能不想输入 11 个值 total-premium
,而是希望行 assert node.toString().matches("(0|27.11|0)\d*"), 'Expected Result: 0 or 27.11 or 0 Actual Result: ' + node
通过,即使字段 total-premium
中的值是 0.05 加上或减去我手动输入此脚本的值。在这个例子中是 27.11
.
为了简要概述,我有大约 1000 个测试用例,我使用 Excel 为每个测试用例创建代码和断言,然后将其导入 SoapUI。所以我根据 Excel 算法输入的值自动匹配脚本。
您可以使用 JUnit public static void assertEquals(double expected, double actual, double delta)
.
import org.junit.Assert
// ... your code goes here ...
// new assert
if(node.toDouble() != 0.0)
Assert.assertEquals(27.11, node.toDouble(), 0.05)
我目前有一个断言脚本,该脚本将响应中的值与设置值相匹配。见下文:
// get the xml response
def response = messageExchange.getResponseContent()
// parse it
def xml = new XmlSlurper().parseText(response)
// find your node by name
def node = xml.'**'.find { it.name() == 'total-premium' }
// assert
assert node.toString().matches("(0|27.11|0)\d*"), 'Expected Result: 0 or 27.11 or 0 Actual Result: ' + node
我想要它做的是匹配低于和高于 0.05 的值。因此,对于这个特定的脚本,如果 total-premium
值介于 27.06 和 27.16 之间,我需要断言为真。
目前,断言代码将字段 total-premium
中的数值与 matches("(0|27.11|0)\d*")
中的三个值相匹配。
但是,我可能不想输入 11 个值 total-premium
,而是希望行 assert node.toString().matches("(0|27.11|0)\d*"), 'Expected Result: 0 or 27.11 or 0 Actual Result: ' + node
通过,即使字段 total-premium
中的值是 0.05 加上或减去我手动输入此脚本的值。在这个例子中是 27.11
.
为了简要概述,我有大约 1000 个测试用例,我使用 Excel 为每个测试用例创建代码和断言,然后将其导入 SoapUI。所以我根据 Excel 算法输入的值自动匹配脚本。
您可以使用 JUnit public static void assertEquals(double expected, double actual, double delta)
.
import org.junit.Assert
// ... your code goes here ...
// new assert
if(node.toDouble() != 0.0)
Assert.assertEquals(27.11, node.toDouble(), 0.05)