问题标签 [mockserver]

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 回答
117 浏览

python - 地址已在 python 的异步客户端测试中使用

我有一个关于异步客户端测试的问题。这是我的测试代码

我可以TestSocketClient单独运行测试,它们将单独通过。但是当我一起运行测试套件时pytest -n auto,后一个测试用例会引发error while attempting to bind on address ('0.0.0.0', 2056): address already in use。我的问题是如何在不解决分配问题的情况下使测试套件通过,以便它们可以在 CI 过程中成功运行。如果在编写异步测试中有一些更有价值的建议,我将不胜感激(例如,如果我只想测试客户端想要发送到服务器的请求,我应该断言什么?我应该断言收到的消息服务器端或只是assert_called_once在客户端编写类似的东西)。提前致谢!

更新:

我终于在不同的测试中解决了端口增量的问题,如下所示

希望这会有所帮助!

0 投票
1 回答
734 浏览

java - MockServer 以空的正文意外响应

让我们看一个测试,它使用 MockServer ( org.mock-server:mockserver-netty:5.10.0) 来模拟响应。

预计响应正文将等于 string "something"。然而,这个测试失败了,因为响应正文是一个空字符串。

如何使响应正文等于中提供的字符串response().withBody(...)

0 投票
1 回答
213 浏览

android - 单元测试因 MockResponse() 的 Error(MockKException) 而失败

我有一个客户端将向 GraphQL 端点发出请求,如下所示

我正在使用MockWebServer测试上述内容以创建模拟响应

  • JUnit 测试
  • 使用Turbine进行测试Flow
  • 我正在尝试验证对于成功的更新请求,重试逻辑不会被执行

但是,我的测试失败了 app.cash.turbine.AssertionError: Expected complete but found Error(MockKException)

在堆栈跟踪的下方,我可以看到有关缺少answer一些重试逻辑相关事物的抱怨但我认为这是引发上述异常的原因,实际上,甚至不应该执行 Caused by: io.mockk.MockKException: no answer found for: RetryStrategy(#1).isError(com.apollographql.apollo.exception.ApolloNetworkException: Failed to execute http call)

P:S-我可能在这里也测试了太多,但很想了解发生了什么

我尝试过的事情如果有影响但没有改变错误,只需将响应更改为空字符串。这让我觉得它可能与响应数据无关,

谢谢

0 投票
1 回答
176 浏览

testing - wiremock to mock public backend response

I am testing on an app that is making calls to a public backend.

I want to use wiremock to mock reponses from the public backends.

I was looking at something like

  1. the app makes a request to api.example.com which is forced through the wiremock proxy on localhost:<port>
  2. wiremock matches the URL based on the rules I provide and returns a mock response

The only examples I could find map localhost requests to real backends or mock responses to localhost.

0 投票
1 回答
383 浏览

java - MockServer -> 返回自定义对象响应

我正在尝试从 mockserver 返回自定义对象响应。

在客户端,我希望得到响应为“GetChannelsResponse”。

这是A的模型对象:

我正在尝试模拟响应并将自定义对象响应作为 A 返回。

我试过下面的代码:

但似乎 mockserver 只返回 HttpResponse,而不是自定义对象作为响应。在上面的代码中,它返回 httpresponse 并在 body 中传递 A 对象。

但是在客户端,如上所示,我希望以 A 的形式响应。

请提出一些建议来实现它

0 投票
1 回答
136 浏览

jackson - 如何将 XML 字符串反序列化为使用包含 @XmlElement 的 JAXB 注释的复合 Java 对象

我有以下 JAXB 注释类:

当我尝试反序列化输入时,出现以下错误:

无法识别的字段“Channel”(a.request.Channels 类),在 [Source: (StringReader); 处未标记为可忽略(一个已知属性:“channels”]);行:1,列:136](通过引用链:a.request.Channels["Channel"])

我正在尝试为发布请求创建一个模拟服务器,因此当我以 JAXB xml 格式获取请求时,我尝试使用映射器来读取请求正文并将其映射到对象。

}

有人可以解释我如何解决它。我尝试了很多替代方案,但似乎没有奏效。

0 投票
1 回答
185 浏览

spring-boot - 独立的wiremock服务器作为spring boot应用程序

我正在尝试将模拟服务作为弹簧启动应用程序。我可以在 Spring Boot 应用程序中使用独立的模拟服务器吗?当我尝试在 Spring Boot 应用程序内的任何端口上运行模拟服务器时,它会引发“地址已绑定异常”有没有办法解决这个问题,以便我可以将模拟服务作为 Spring Boot Docker 容器运行并配置我想模拟的网址。

0 投票
1 回答
89 浏览

postman - Postman mockserver 添加示例

想象一下我有一个“销售”端点的场景。它可以按地区(即欧洲和美国)进一步过滤

我遵循的步骤

  1. 我创建了模拟服务器并创建了 sales/{{customregion}},如下所示

创建者

2) 将 mockser 命名为 testms

3)现在我点击请求,然后点击右上角的示例。我将默认重命名为欧洲并添加另一个,例如美国

在此处输入图像描述

  1. 同样,我也为美国创建了随机 json 响应样本

在此处输入图像描述

  1. 现在我的问题在下面, 如果我输入错误的端点,我仍然会得到结果。让我们看看每个案例

Eg1) https://21ad39c9-aebc-49a5-88d0-8e1abad0a2d8.mock.pstmn.io/sales/europe 结果如预期给出了为欧洲配置的数据同样适用于美国,即它给出了为美国配置的结果

Eg2)我给欧洲而不是欧洲,它仍然有效..怎么样??例如下面

在此处输入图像描述

Eg3)同样的方式,我给了eurospe而不是europe,这也有效。

Eg4)只有当我完全输入错误时,它才会给出以下错误,这是正确的

在此处输入图像描述

整件事让我有点困惑。首先,{{customregion}} 变量是如何工作的,即使有错别字也是如何工作的。但如果拼写错误,可能超过 1 个字符,它会给出错误。谁能详细解释一下

0 投票
0 回答
48 浏览

java - MockServer静态导入文档中描述的方法还是我应该传递我自己的方法?

我正在尝试学习如何使用 MockServer 编写测试。为了测试发送 Post 请求的方法。但是当我将文档中的代码复制到我的 IDE 中时,它找不到方法:“request()”、“exact()”、“exact(1)”和“response()”。我猜这些是静态的导入,我只是找不到它们所属的类。或者那些只是我应该传递我自己的方法的方法存根?

这是文档的代码:

0 投票
1 回答
383 浏览

postman - Postman 模拟服务器与 JSON 模拟服务器

我知道如果我安装了节点,我可以立即启动 JSON 模拟服务器,然后我可以创建支持 GET、PUT、POST 等的端点。我还意识到可以在 db 中存储数据(如插入删除、更新等) .json 直到 json 服务器重新启动。

现在我尝试了 POSTMAN,我意识到设置 mockserver 和创建端点是非常简单的过程。但无论如何我可以对邮递员进行 PUT、POST 等操作并将数据保存在某处吗?就像我们可以在 JSON 服务器的 db.json 中做的那样?

在 JSON 模拟服务器上使用 POSTMAN 的模拟服务器还有其他优势吗?

我是 POSTMAN 模拟服务器的新手,所以任何输入都会有很大帮助