首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wiremock匹配逻辑

Wiremock匹配逻辑
EN

Stack Overflow用户
提问于 2014-11-12 16:13:29
回答 1查看 19.2K关注 0票数 6

我试图使用以下需求来比较Soap和Wiremock的功能(这对于我的项目中的大多数情况来说都足够现实)。

目标是为货币价格服务创建一个模拟。所需经费:

  • 可在 mytesthost/价廉/getprice
  • 需要一个名为“cur”的参数,该参数定义了当前类型的cur=EURHUF
  • 在下面调用时,应该使用保存在文件EURHUF.xml中的XML响应来响应。 mytesthost/preser性/getprice?cur=EURHUF
  • 在下面调用时,应该使用保存在文件EURUSD.xml中的XML响应来响应。 mytesthost/preser性/getprice?cur=欧元
  • 当使用调用任何其他当前类型的时,应该使用存储在NOCURR.xml中的错误响应来响应

在Soap中实现这一点可以归结为准备结果,而不是实现几行Groovy代码来选择响应。

当使用wiremock处理问题时,我可以匹配两个“愉快”路径情况,但不知道如何实现回退情况(使用NOCURR.xml)。

关于我是如何进行匹配的示例:

代码语言:javascript
复制
{
    "request": {
        "method": "GET",
        "url": "/priceservice/getprice?cur=EURUSD"
    },
    "response": {
        "status": 200,
        "bodyFileName": "EURUSD.xml"
    }
}

我能用wiremock实现这一点吗?我主要感兴趣的是通过Json配置来做到这一点,但是如果Java是这样的话,那也很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-13 14:06:41

找到了解决办法。所以我们有三个Json映射文件:

  1. 对欧元-美元匹配
  2. 用于CHFHUF匹配
  3. 对于其他一切,即使是不存在的货币对

在第一和第二阶段,映射如下:

代码语言:javascript
复制
{
    "priority": 1,
    "request": {
        "method": "GET",
        "url": "/priceservice/getprice?cur=CHFHUF"
    },
    "response": {
        "status": 200,
        "bodyFileName": "CHFHUF.xml"
    }
}

请注意priority=1!

至于“其他”案件,我们有:

代码语言:javascript
复制
{
    "priority": 2,
    "request": {
        "method": "GET",
        "urlPattern": "/priceservice/.*"
    },
    "response": {
        "status": 200,
        "bodyFileName": "NOCURR.xml"
    }
}

这不仅有一个较低的优先级(2),也代替'url‘,我添加了'userPattern’的正则匹配。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26891506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档