【发布时间】:2016-05-26 09:19:53
【问题描述】:
流程是这样的:
客户端 RQ-> 被测系统 -> 后端系统 -> SUT -> 客户端响应
后端可以响应各种错误,目标是测试这些错误是如何传播到客户端的。 我正在尝试使用soapui rest mock 来模拟后端系统。我在模拟中创建了多个错误响应。但问题是它们是由同一个客户端 RQ 触发的。 这个想法是通过正在运行的测试用例来确定后端响应。
TC 404:客户端 RQ -> SUT -> 后端模拟响应 404 -> SUT -> 客户端 -> 断言 404
TC 无数据:客户端 RQ -> SUT -> 后端模拟响应无数据 -> SUT -> 客户端 -> 断言无数据错误 ...
由于每个 TC 的客户端 RQ 相同,因此动态选择支持的模拟响应的唯一方法是知道哪个 TC 正在运行。
最底层的问题是如何将 testRunner.testCase 对象传递给模拟响应调度程序脚本
【问题讨论】:
-
您使用的是什么类型的
mock dispatcher?您不能根据请求确定响应中要返回的内容吗? -
正如我所说,所有情况下的请求都是相同的,因此无法根据请求选择响应。
-
希望请求可能相同,但是你可以对某些元素使用不同的值,以便于识别?有意义吗?
-
很遗憾没有。如您所见,我没有将请求发送到后端系统。 SUT 可以,我无法控制它。我打电话给 SUT,SUT 打电话给后端。我将使用序列分派,并将 SUT 配置为仅重试一次。然后我将使用正确的断言和模拟响应对请求进行相同的顺序。
标签: rest groovy mocking soapui