问题标签 [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 投票
0 回答
591 浏览

mocking - 处理不同的 Web 服务(Rest 和 SOAP)时使用哪个 Mockserver?

例如,我在自动化测试和使用 SoapUi 测试 API 和 SOAP 方面确实有很多经验,但我从不使用模拟服务器。使用它实际上很有意义。

为了我的测试目的,我有以下要求:

  • 模拟 Web 服务(Rest 和 SOAP)
  • 用于设置和与其他团队轻松协作的 UI
  • 可以安装在自己的服务器上

我发现了很多 FOSS :

是否有其他符合要求的开源工具?哪个工具为自动化测试和简易设置 (UI) 带来更多优势?

谢谢

0 投票
1 回答
318 浏览

sapui5 - SAPUI5 Mockserver 总是生成相同的随机 id

我有一个应用程序,我使用标准内置模拟服务器UI5运行它以进行测试。UI5

以下是 mockserver.js 中Web IDE自动生成的代码:

我的 oData 元数据中的所有集合都具有ID整数类型!(在真实网关服务器中自动增量)

有趣的是,当我创建一个集合的新对象时,它将分配9为第一次创建的对象的 id,第二个创建的对象将是416等等。

很明显,内置模拟服务器使用随机生成算法,不带或带静态种子。这就是它会为我的元数据模型中的每个集合始终生成相同的 id 链的原因。

现在我的问题是如何改变 UI5 模拟服务器的这种行为?

换句话说,如何将随机数设置为模拟服务器的种子,或者如何强制它对 id 使用增量行为。

作为 id生成的 UI5 的默认行为的问题9, 416, 6671, 2631, ...是,其中一个集合已经有一个带有 id 的项目9!然后通过创建一个新项目,我将在我的列表中有两个具有相同 ID(即 9)的项目!

0 投票
1 回答
332 浏览

spring-boot - 如何在空手道模拟 Servlet 配置中模拟 JPA 存储库?

我有一个带有 REST 控制器、服务和 JPA 存储库的 spring boot 2.2.4 项目。我可以使用 karate mock servlet 为控制器和服务定义一个 mock,但我不知道要为存储库做什么。控制器@Autowired 服务。服务@Autowired 存储库。

结果,当我运行空手道测试时,我收到了这条消息:

引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的“repository.EmployeeRepository”类型的合格bean:预计至少有1个有资格作为自动装配候选者的bean。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

我正在使用的 MockServlet 正是来自演示的这个类: MockSpringMvcServlet

使用类似于此的 MockConfig 类: MockDemoConfig

最后, karate-config.js 文件以这种方式引导 MockSpringMvServlet(如 karate 演示代码中所示):

注意:如果我从 API 调用中删除 JPA 存储库,那么 Karate Mock Servlet 可以在没有服务器运行的情况下正常工作,并且 Karate 测试成功通过。

知道我会怎么做吗?如果有人能指出我正确的方向,我将不胜感激。

0 投票
2 回答
2222 浏览

java - Mock-Server - 自定义对象作为 REST 响应

我在 5.10.0 版本中使用 Mock-Server (mock-server.com) 在 JUnit 5 测试中模拟 REST-API。我正在使用 Java 8 开发一个 spring-boot 应用程序。我的有效负载格式是“protobuf”,所以我的 REST 接口返回一个ResponseEntity<MyProtoObject>. 不幸的是,我在 Mock-Server 中找不到自定义对象作为主体返回的 Mock-Server 内置解决方案。我只找到了withBody(String)or之类的方法withBody(byte[])。除了这些方法,我还找到了一种方法withBody(BodyWithContentType)。我试图BodyWithContent<T>在我的单元测试类中创建抽象类的以下实现/用法:

当我调试发生 ResponseEntity 的代码时,我从模拟服务器获得响应,但响应的“主体”始终为空。我的习惯getValue()也从来没有被调用过。我确保我的应用程序逻辑中的 REST 调用结果来自使用不同返回码的模拟服务器。

有人可以帮我解决这个问题吗?

0 投票
0 回答
200 浏览

java - MockServer 作为 Socks 代理不能与 curl 一起使用

使用_

现在如果我这样做(没有袜子代理)

它工作 html 打印

但如果我这样做(使用 socks 代理)

curl 请求永远卡住了。

我的期望是MockServer用作 Sock 代理

我究竟做错了什么?


PS:如果我使用 MockServer 作为 http 代理可以正常工作,那么我做错了什么sock

0 投票
1 回答
176 浏览

java - 空手道框架 - 模拟服务器定义线程池

我正在使用空手道框架进行负载测试和破坏模拟服务器,使用带有 -T 选项的以下命令来实现更高的 tps,它似乎没有受到影响,它总是运行 8 个线程,这是服务器中的核心数。

请帮助定义空手道模拟服务器的线程池计数。

0 投票
1 回答
781 浏览

java - 我可以使用 MockRestServiceServer 测试 HttpClient 请求吗

在我的应用程序中,我有外部第三方 API 请求。我想通过模拟这个 API 请求来测试我的应用程序。

我的服务等级:

总结服务类,请求可以是get、post、delete、put。并且此请求将使用标头或正文部分进行处理。然后将作为http请求处理。

我的测试课:

当我像上面那样实现它时,模拟不起作用。有什么建议吗?

我在这里知道,MockRestServiceServer 仅适用于 restTemplate 请求,但我想知道有没有办法用 httpClient 处理它?

注意:我希望代码片段足以整体理解代码。

0 投票
0 回答
351 浏览

kotlin - 带有 Quarkus 的 MockServer:“发现了多个竞争的 ParameterResolver”

我正在尝试使用MockServerQuarkus 测试 API 客户端。这是我的测试代码:

运行它会产生以下错误:

Discovered multiple competing ParameterResolvers for parameter [org.mockserver.client.MockServerClient mockServerClient] in constructor [public com.example.APIClientTest(org.mockserver.client.MockServerClient)]: io.quarkus.test.junit.QuarkusTestExtension@5bff6eec, org.mockserver.junit.jupiter.MockServerExtension@a2f7328

如何将 MockServer 与 Quarkus 结合使用?

0 投票
0 回答
238 浏览

python - 无法从 Django Docker 容器连接到 MockServer

我已经设置了一个 Django 容器以及一个在 docker-compose 中运行的 MockServer 容器。我可以使用邮递员很好地访问 MockServers 的端点,但是当从 python 容器发出请求时,我得到一个错误:

这是我的 MockServer.properties:

我执行请求的代码如下所示:

MockServer url 是 http://localhost:1080,它在使用任何其他外部 url 时都有效。

知道什么会导致这种情况吗?

0 投票
1 回答
428 浏览

java - 如何使用 MockServer 返回带有字节数组字段的自定义对象?

我正在使用 MockServer

我想返回包含许多字段的自定义对象

该字段correspondenceContent是字节数组(文件从资源中读取)

这是模拟

但是我的 restTemplate 得到了:

这是其余模板

问题是什么??