首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wiremock如何在码头上连接wiremock

Wiremock如何在码头上连接wiremock
EN

Stack Overflow用户
提问于 2021-09-08 03:39:10
回答 1查看 634关注 0票数 0

我继承了一个现有的API组件测试框架(Java),它通过触发一个带有运行在其中的API的对接程序来工作,而第二个则继承了一个模拟终端数据源的Wiremock服务器。测试是用JUnit5编写的。

码头工人是使用Gradle composeUp启动的,而不是在我的代码中。测试代码中唯一的设置是声明端口号:

代码语言:javascript
复制
WireMock.configureFor("localhost", 8080);

这一切都很好,Wiremock服务器使用映射文件接收来自API的请求,没有问题,并返回适当的模拟响应。

然而,这种方法意味着我对API和模拟之间所发生的事情几乎没有什么可见性,所以如果他们‘都在做我认为他们正在做的事情,那么就很难确定他们在做什么。对于一些边缘的情况,我真的需要有更多的信息,这两个是如何相互作用。

因为我没有一个已声明的Wiremock实例,所以我不能使用它的方法,如getAllServeEvents()和isRunning()等,这将是理想的选择。

是否有任何方法可以连接到这个Wiremock服务器,这样我就可以访问它的方法,并且可以收集一些关于它正在做的事情的信息,就像我只是在内存中嘲笑一样。我似乎还记得,在JUnit4中,您必须显式声明Wiremock (WiremockRule?)这会给我提供一个参考,比如:

代码语言:javascript
复制
List<ServeEvent> allServeEvents = <mock>.getAllServeEvents();

但现在我的专业能力有限。

EN

回答 1

Stack Overflow用户

发布于 2021-09-09 11:39:17

由于您已经使用configureFor调用设置了WireMock的静态DSL,所以实际上可以调用WireMock.getAllServeEvents(),这将提取当前WireMock服务器请求日志中的所有内容。

您还可以通过API对GET进行http://localhost:8080/__admin/requests操作来提取日志。

最后,如果您能够更改Docker容器的启动命令行以将--verbose添加到WireMock命令中,那么它将开始记录容器的stdout的每个请求/响应,以便您可以使用Docker跟踪它。

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

https://stackoverflow.com/questions/69096704

复制
相关文章

相似问题

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