问题标签 [wiremock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2709 浏览

java - Wiremock 中的 URL 路径模式匹配

Wiremock 如何将 URL 路径模式与编码的 URL 完全匹配?我是否需要使用已编码的 URL 保存映射?这是我尝试了几个小时但无法正常工作的方法。

在wiremock中映射

我已经尝试过使用编码 URL 的不同变体,例如 /Systems%20XYZ%20(ABC)/2016.10/aaa/bbb/api/ccc/customers/.* 甚至 URL 编码映射中的 ( 和 ) 但我的请求没有'似乎不匹配

我尝试针对wiremock /Systems%20XYZ%20(ABC)/2016.10/aaa/bbb/api/ccc/customers/12345 调用服务的URI

/Systems XYZ (ABC)/2016.10/aaa/bbb/api/ccc/customers/.* 不过,我认为 Postman/browser 会自动对空格进行编码。

我在这里有什么遗漏吗?尝试了许多组合,但似乎没有奏效。

0 投票
1 回答
887 浏览

java - Android 测试无法在低于 5 (API 21) NoClassDefFoundError 的设备上运行

我正在尝试为我的项目运行仪器测试。但它们不能在版本低于 5(API 21)的设备(模拟器)上运行。

我一直在努力解决这个问题,但仍然面临着它。我得到以下异常。

我已经尝试过所有类似问题的解决方案。

这是我的项目结构的外观。

项目结构

以及用于测试的 gradle 依赖项

BaseTestClass具有以下结构

这不仅发生在我的项目中,而且发生在Wiremock 示例中,同样的错误。

也许我运行测试不正确,我只需单击一个测试类并选择Run ... Test.

请帮忙解决这个问题,我不知道出了什么问题。

0 投票
4 回答
7435 浏览

rest - Wiremock CORS 不工作

我已经有效地使用了wiremock 有一段时间了,我想启用CORS 对模拟API 的访问。

我尝试在响应标头中设置 Access-Control-Allow-Origin: * 和其他标头,但均无济于事。

这是我拥有的映射示例:

我在这里做错了什么导致CORS不起作用?

提前致谢。

0 投票
1 回答
919 浏览

javascript - 模拟休息 api 和假域名

我试图创建一个基本的模拟服务器,它允许对 REST 调用进行一些简单的 JSON 响应。我希望一切都在节点上运行,因为这是团队当前的开发环境,所以我想出了 apimocker、jswiremock 等,它们都像 localhost 上的魅力一样工作。太好了,到目前为止。

我现在真正需要的是让所有东西都在我的 localhost 上的假域上运行——> 就像 fiddler/charles 将域调用重定向到对应的 localhost 资源一样。我怎样才能拥有它?- 在节点世界中拥有它也是完美的。

谢谢你的帮助。

0 投票
2 回答
24321 浏览

unit-testing - Wiremock:同一 URL 和内容的多个响应?

也在这里分享:https ://github.com/tomakehurst/wiremock/issues/625

我正在编写一个集成测试来验证与 REST API 交互的应用程序是否正确处理了不成功的请求。为此,我想模拟一个向 HTTP 端点发出两次 GET 请求的场景。第一次请求不成功,响应状态码为500;第二次,请求成功,响应状态码为 200。

考虑下面的例子:

有没有办法避免第二个 StubMapping 覆盖第一个 - 以确保第一次doSomething()发出请求,返回状态码为 500 的响应,第二次返回状态码为 200 的不同响应

0 投票
1 回答
135 浏览

spring - Spring Cloud Contract DSL 是否支持 bodyFileName

我正在尝试使用 spring-cloud-contract 框架定义一个合同,该框架对于特定的请求会返回一个大体的响应。这个身体总是一样的。所以我更愿意将这个主体存储在一些静态文件中。生成的 Wiremock 映射将用于bodyFileName引用具有响应正文内容的静态文件。

0 投票
2 回答
1072 浏览

java - 如何使用无法通过 Spark 序列化的 3rd 方库

我想在 Spark 中使用 3rd 方库(Wiremock)。但是,我得到以下异常:

有没有一般的方法来处理这个?

0 投票
1 回答
4642 浏览

java - 如何在 wget 中调试 HTTPS 代理失败?

(这是这个问题的延续,我解决了一个问题并发现了另一个问题)。

我正在通过 WireMock 代理使用 wget 获取 HTTPS 网站。这是我指向演示安全站点的 fetch 命令:

这是我的代理设置:

WireMock 屏幕日志这样说:

结果是:

可以看到,获取失败,自动重试,需要取消才能结束。

我已经尝试--preserve-host-header过 WireMock 命令(这里的独立文档),但结果是一样的。

我想知道代理是否在内部失败,因为它需要指向有效的 HTTPS 证书存储?也就是说,我希望正在运行的代理会输出一些东西(甚至是错误),但它似乎根本没有处理调用。等效的 HTTP 调用可以正常工作。

我可以做些什么来看看为什么 Wget 失败了?错误消息不是很有帮助,据我所知,我不能让它更详细(wget 中默认情况下详细)。

这种行为在 Alpine 3.4(在 Docker 容器中)和在我的 Ubuntu 14.04 VM 上运行时是相同的。在 WireMock 2.4.1、2.5.0 和 2.5.1 中也是如此。

试用证书

我尝试将浏览器 (Firefox) 的 HTTPS 代理设置切换为指向 WireMock,但由于证书错误,它在我尝试获取的网站上失败。有趣的是,WireMock 不会向标准输出输出任何内容,即使看起来 Firefox 已经联系了远程服务器。

我想知道 Wiremock 中的内置密钥库是否已过时或为空,因此学习如何指定“真正的”证书存储可能是下一个值得尝试的事情。我使用这些说明浏览器证书文件转换为 JKS 格式,这对 Wget 或 Firefox 没有任何影响。

我注意到我新创建的密钥库是 955 字节,而原始 PEM 证书文件约为 260K,因此很明显并非所有证书都已添加(也许它只是添加了第一个?)。FWIW我使用了这个命令:

正在到达确认代理

我在调用中添加了-verboseand-verbose:jni开关java,以证明在需要 HTTPS 代理时发生了一些事情。当我运行 Wget 命令时,会打印出一篇名副其实的文章,因此我确信 HTTPS 代理正在被命中。Wget 在 HTTP 模式下也能正常获取。

如何记录独立 Jar 文件中发生的事情?

我处于可以盲目尝试各种事情的阶段,我认为我需要从 Java 系统中获取一些情报,以了解它为什么首先失败。我的猜测是 Wiremock 是问题而不是 Wget。

我在 Wiremock 中发现了一个未记录的功能--print-all-network-traffic,它提供了以下功能:

第二部分重复 wget 重试的频率,但这里仍然没有什么用处。我想知道为什么它失败了。

是否有我可以添加的日志记录参数java -jar,或者是否有我可以查阅的 Java 系统范围的错误日志?我已经安装了 VisualVM,但各种输出似乎不太相关。我希望我对异常最感兴趣?

0 投票
2 回答
13037 浏览

java - Wiremock Standalone - 如何使用请求数据操作响应

我试图使用 Wiremock 独立服务器来实现 POST REST 调用的模拟。我面临这样的挑战,假设帖子正文包含一个“名称”字段及其值,则应该在该 POST 调用的响应中返回相同的值。我的 json 文件如下所示:

所以,我需要获取值,即 794363,但使用上述方法无法在响应后正文中获取它。

我也试过这个:

所以我的问题是,即使我使用与请求中的任何数字匹配的正则表达式,如何使用 Wiremock 独立 json 文件在响应中返回相同的数字?谢谢。

0 投票
1 回答
495 浏览

spring-mvc - Wiremock 存根像 ECHO 一样工作

我的 JS 应用程序正在使用wiremocks 来模拟后端调用。是否可以创建这样的 Wiremock 定义以创建回显服务(响应的正文 JSON 内容应该与请求的正文 JSON 内容相同)。