是否有一种无需部署即可集成测试 JAX-RS 服务的机制(类似于 MockMVC)?

2023-12-31

我已经使用 Mock MVC 成功为 Spring MVC REST 服务构建了无需部署的集成测试框架。我正在努力对 JAX-RS 服务做同样的事情。

REST Assured 看起来很有前途,但似乎需要部署。测试套件可以启动 CXF 服务器,但它可以将其与 servlet 容器连接起来吗?

看来Mock MVC提供的独特价值在于它的mock servlet容器中。还有其他技术可以提供这一点吗?

The CXF 文档的 JAX-RS 测试页面 https://cwiki.apache.org/confluence/display/CXF20DOC/JAXRS+Testing#JAXRSTesting-MockingHTTPcontexts提供了注入模拟的模式HttpServlet请求进入 CXF 调用程序。这让我想到......

Spring MVC 的模拟 servlet 元素(模拟HttpServletRequest等)来自弹簧测试模块,独立于 Mock MVC。我们能够将这些对象注入到 CXF 调用程序中吗?或者这将是一个兔子洞?

有人想出解决这个问题的办法吗?


.


丹尼尔 - 我是开发者Karate https://github.com/intuit/karate我一直在尝试的方法是结合使用 Mockito 和 HTTPServletRe**** 的 Spring 模拟来直接调用 servlet 并避免启动应用程序服务器。

既然空手道有这个http 客户端的可交换抽象 https://github.com/intuit/karate/blob/master/karate-core/src/main/java/com/intuit/karate/http/HttpClient.java,我正在考虑在不久的将来添加这个选项。

只是分享,以防它对您有帮助,或者如果您想交换意见。欢迎在 GitHub 上打开线程。

更新:我在这方面取得了很好的进展 - 请查看这个线程 https://github.com/intuit/karate/issues/100#issuecomment-313902944一个工作示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有一种无需部署即可集成测试 JAX-RS 服务的机制(类似于 MockMVC)? 的相关文章

  • 消除“集成测试骗局” - 了解协作和合同测试

    我最近看过集成测试是一个骗局 http www infoq com presentations integration tests scam由 J B Rainsberger 撰写 现在正在寻找有关该主题的更多材料 我不得不说 我对我们做错
  • 不可靠/不稳定的 Capybara/AngularJS 集成测试与计时问题

    如何使这些测试可靠地通过 目前这些测试很不稳定 有时他们会过去 有时他们会失败 下面是演示此问题的设置 代码和输出 克服这个问题的建议将不胜感激 我相信也会帮助许多其他人 所以请发表评论 测试代码环境 轨道3 2 RSpec 2 x 水豚
  • CXF:在同一个soap:地址上实现多个端口?

    我们从客户那里收到了 WSDL 要求我们在我们这边实现该服务 WSDL 包含 3 个端口绑定 具有不同的名称和绑定 但相同
  • 使用 SSL 和代理设置的 Rest 客户端获取连接超时

    我正在使用带有忽略 ssl 的 Rest 客户端 它工作正常 但在将来我尝试使用客户端证书进行的生产中将无法工作 我有 ca 证书和客户端证书 我用它创建了一个客户端 但我收到错误 Exception in thread main com
  • Tomcat下的Spring CXF Soap Web服务:找不到服务

    我正在尝试使用 CXF 和 Spring 设置一个在 Tomcat 上运行的简单 CXF Web 服务 我有一个 Web 应用程序初始化程序来引导 CXF servlet public class WebAppInitializer ext
  • 空手道 - 使用 Javascript 从 元素获取 URL

    使用空手道 我需要从标签 href 中提取 url 我直接在浏览器中使用 Javascript 尝试过 document querySelector a rel noopener href 它在浏览器中工作正常 我收到完整的 url 地址
  • CXF/Jetty 相当于以下 Jersey/Jetty 代码

    我有一些 Jersey 2 7 和 Jetty 9 2 5 v2014112 的测试代码 我正在尝试将其移植到 CXF 3 0 x 和 Jetty 相同版本 有一个部分我无法弄清楚 相当于rc register resource 下面一行
  • 如何拦截 REST 端点以接收所有标头?

    我当前的代码是 Path login RequestScoped public class LoginResource GET SecurityChecked public Response getUser HeaderParam AUTH
  • Jersey/JAX-RS:如何自动使用@Valid递归级联bean验证?

    我正在 Jersey 的 REST 资源端点中验证我的 POJO public class Resource POST public Response post NotNull Valid final POJO pojo public cl
  • 能够将空手道与 selenium webdriver 一起使用

    一周前我开始使用空手道 这是我的第一个问题 我曾经使用 Spock 和 groovy 放心和 Cucumber 编写 Web 服务测试 当我接触到空手道时 我觉得它真的很有趣 感谢您付出的巨大努力 我发现 Karate 真的很强大并且满足了
  • 编组/取消编组 使用 JAXB 列出 Jersey JAX-RS 中的对象

    早上好 今天早上 当我浏览泽西岛实体提供商时MessageBodyReaders and MessageBodyWriter我遇到了以下问题 我想编写一个资源方法和客户端 返回自定义对象列表 媒体类型是application xml 所以我
  • 如何使用 Jackson 将日期编组为时间戳

    我在将 java util Date 对象编组 取消 到时间戳中时遇到问题 理想情况下 时间戳应采用 UTC 0 格式 而不是服务器的本地时区 尽管如果需要的话我可以很容易地解决这个问题 注意 我知道这里有几个关于堆栈溢出的类似主题 但我遇
  • 如何使用 Mock 库来模拟 DjangoForeignKey 值?

    我有一个模型 我正在尝试在不调用数据库层的情况下测试验证 我不会用文字描述 而是只发布一些示例代码 这里的问题是外键与 Bar 的关系 它与我要测试的内容无关 但阻止我运行我想要的测试 First myapp models py from
  • AIX/IBM Java 上的 cxf、jaxb - CollisionCheckStack 问题

    我最近在我的代码中遇到了以下问题 环境是 Java TM SE 运行时环境 内部版本 pap6470sr1 20120330 01 SR1 IBM J9 VM 内部版本 2 6 JRE 1 7 0 AIX ppc64 64 20120322
  • 如何集成测试Azure Web Jobs?

    我有一个 ASP NET Web API 应用程序 支持 Azure Web 作业 其功能由 API 控制器添加到存储队列的消息触发 使用 OWIN 测试 Web API 非常简单 但如何测试 Web 作业呢 我是否在测试运行器的内存中运行
  • 具有 CXF 和 Kerberos 身份验证的 Restful 服务

    尝试使用 Kerberos 身份验证保护现有 CXF JAX RS 服务时遇到困难 我浏览了似乎是参考文档的内容 http cxf apache org docs jaxrs kerberos html http cxf apache or
  • 测试 Spring 端点时如何防止 NestedServletException?

    我在尝试着测试安全配置我的一些端点受到保护 PreAuthorize oauth2 hasScope scope 当使用不具有所需范围的访问令牌通过 Postman 访问此类端点时 将返回以下内容并带有 HTTP 状态代码 403 禁止 e
  • 如何确保响应中不返回额外字段

    我的实际 api 响应是 data 0000164 2019 02 11 MAPLE 5 OAK 15 request data null status 200 这是我预期的 api 响应 data 0000164 2019 02 11 M
  • 如何使用 JAXRS 和 JAXB 设置 Restlet 服务器?

    我一直在互联网上查找 试图找到如何执行此操作的示例 我只是想设置一个 REST 服务器 它自动将对象序列化到 XML 或从 XML 序列化对象 我只是想提供一个服务器 以便于用户登录 注销以及仅在用户登录后访问 XML 对象列表 启动并运行
  • 空手道弹簧整合

    我们有一个 Spring MVC 应用程序 是否可以在 Karate 中集成 spring 上下文 假设通过 Karate runner 绑定 SpringJunitRunner 或者通过 spring 上下文查找 bean 在空手道中一切

随机推荐