dba*_*rev 4 mocking soapui wiremock
我试图使用以下要求比较Soap UI和Wiremock的能力(对于我的项目中的大多数情况,这是足够现实的).
目标是为货币价格服务创建模拟.要求:
无障碍
mytesthost/priceservice /用getPrice
期待一个名为'cur'的参数,它定义了currenypair,如:cur = EURHUF
如下调用时,应使用保存在EURHUF.xml文件中的XML响应进行响应.
mytesthost/priceservice /用getPrice?CUR = EURHUF
如下调用时,应使用保存在文件EURUSD.xml中的XML响应进行响应.
mytesthost/priceservice /用getPrice?CUR = EURUSD
当使用任何其他货币对调用时,它应该响应存储在NOCURR.xml中的错误响应
在Soap UI中实现这一点归结为准备结果,而不是实现几行Groovy代码来选择响应.
当使用wiremock解决问题时,我可以匹配两个'happpy'路径的情况,但不知道如何实现回退情况(使用NOCURR.xml).
关于我如何进行匹配的示例:
{
"request": {
"method": "GET",
"url": "/priceservice/getprice?cur=EURUSD"
},
"response": {
"status": 200,
"bodyFileName": "EURUSD.xml"
}
}
Run Code Online (Sandbox Code Playgroud)
我可以用wiremock实现这个目标吗?我主要感兴趣的是通过Json配置来实现这一点但是如果Java API也是如此.
dba*_*rev 11
找到了解决方案.所以我们有三个Json映射文件:
对于第1和第2,映射是这样的:
{
"priority": 1,
"request": {
"method": "GET",
"url": "/priceservice/getprice?cur=CHFHUF"
},
"response": {
"status": 200,
"bodyFileName": "CHFHUF.xml"
}
}
Run Code Online (Sandbox Code Playgroud)
请注意优先级= 1!
对于'else'案例,我们有:
{
"priority": 2,
"request": {
"method": "GET",
"urlPattern": "/priceservice/.*"
},
"response": {
"status": 200,
"bodyFileName": "NOCURR.xml"
}
}
Run Code Online (Sandbox Code Playgroud)
不仅这个优先级较低(2)而且'url'我还为正则表达式匹配添加了'userPattern'.
| 归档时间: |
|
| 查看次数: |
16168 次 |
| 最近记录: |