问题标签 [stubby4j]
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.
java - 为什么我的集成测试试图设置一个新的码头实例?
我有一个包含 3 个集成测试类的项目:A、B 和 C。我对代码进行了更改,作为这些更改的一部分,我添加了一个 @MockBean 来测试类 A。
这是一个由每个集成测试类扩展的类:
现在是一个具体的测试类:
我尝试以三种不同的方式运行测试:
- 仅使用模拟 bean 运行测试类 A。所有测试通过。
- 构建运行所有测试类的项目。测试类 B 和 C 通过,但 A 在尝试启动码头实例时在应用程序上下文加载期间失败,并且由于地址已在使用中而失败。
引起:org.springframework.beans.BeanInstantiationException:无法实例化[io.github.azagniotov.stubby4j.server.StubbyManager]:工厂方法'stubby'抛出异常;嵌套异常是 java.net.BindException:地址已在使用中 原因:java.net.BindException:地址已在使用中
- 移除模拟的 bean,并构建项目。测试类 B 和 C 通过。测试类 A 成功加载应用程序上下文,但一些测试失败(由于模拟给出的缺失行为)。
Jetty 是作为Stubby4j的一部分设置的,它通过以下方式实例化为配置 bean:
我以两种不同的方式进行了一些调试,在该行中放置了一个断点stubbyManager.startJetty();
:
- 只运行测试类 A。执行只在断点处停止一次。
- 使用其他测试类(例如 B)运行测试类 A。B 的执行只停止了一次,但 A 的执行停止了两次。第二次它因上述错误而失败。
- 同样,如果我删除模拟 bean 并运行多个测试类,则每个测试类的执行只会在该行停止一次。
显然,我的问题是:为什么 MockedBean 注释会导致这种行为,我该如何避免呢?
提前致谢。
当前项目设置:
- Spring Boot 版本 1.4.2.RELEASE
- Stubby4j 版本 4.0.4
javascript - 存根:对具有不同主体的相同 URL 的存根 PUT 请求
我想为同一个 PUT URL 匹配不同的主体,但是 stubby4j 总是匹配第一种情况,不管主体的内容是什么。
例子:
在这种情况下,无论我的请求中参数“type”的值是什么,它总是与第一个存根匹配。
java - Java中的存根WebSocket服务器
我想要实现的是测试一些背后有网络套接字通信的逻辑。
我最近实现了 WebSocket 客户端端点,我想像 http 与 WireMock 的集成一样对其进行测试——以声明方式指定来自外部 WebSocket 服务器的 Web 套接字消息。
预期的库/API:
我找不到这样的库,因此我只是在我的测试包中实现了嵌入式 websocket 服务器。对于单会话场景来说已经足够了。
总结一下:我在服务层的某个地方有一个 websocket 连接,我想用 ie MockMvc 编写端到端测试。我想要一些预定义的 WS 模拟行为,因此我需要一个嵌入式 http/ws 服务器并指定其 WS 服务器端点的行为。
我想要实现的目标有解决方案吗?写这样的测试有意义吗?如果不是,为什么?
javascript - 对同一个补丁请求端点使用 stubby 多个响应
这是我在 data.yaml 中的补丁请求映射
api 路径 api/test 是一个 PATCH 请求,它在其主体 {testVar: "1111"} 中接受单个请求参数
我需要实现的是当请求参数为 {testVar: "1111"} -> 请求参数为 {testVar: "2222"} 时调用 response/test-1.json -> 调用 response/test-2.json
如何实施?
我尝试了查询参数、请求参数等,但没有运气
microservices - HTTP 存根服务器 stubby4j 是否支持带有附加查询参数设置的请求代理?
TL;博士:
stubby4j 请求代理功能是否支持使用正在代理的请求设置附加查询参数?
详情:
v7.3.3
当我的请求与任何配置的存根不匹配时,我正在使用 stubby4j HTTP 存根服务器,最新版本(即:)将请求代理到另一个真实的实时服务。
我很想知道是否可以通过正在代理的请求将额外的查询参数传递给实时服务?
在stubby4j请求代理行为的官方文档(https://stubby4j.com/docs/request_proxying.html)中没有提到它,从我自己的测试中看到的,我认为这不受支持。但是,我仍然想问一下我是否只是做错了什么。
javascript - stubby4node 逗号分隔的查询字符串实现问题
我有以下模式的 URL (GET REQUEST)
- ^/testpath/1/test?pathid=1
- ^/testpath/1/test?pathid=1,2
- ^/testpath/1/test?pathid=1,2,5
其中 pathid 查询字符串参数以逗号分隔
我有以下粗短的映射来匹配这些 url 模式
但我无法让这个 URL 映射根据不同的参数组合正确传递不同的有效负载。
- 1 -> 有效载荷1
- 1,2 -> 有效载荷2
- 1,2,5 -> 有效载荷3
如何才能做到这一点?