我已经使用 Mock MVC 成功地为 Spring MVC REST 服务构建了无需部署的集成测试框架。我正在努力对 JAX-RS 服务做同样的事情。
REST Assured 看起来很有希望,但它似乎需要部署。测试套件可以启动一个 CXF 服务器,但它可以与一个 servlet 容器连接起来吗?
Mock MVC 提供的独特值(value)似乎在它的 mock servlet 容器中。是否有任何其他技术提供此功能。
JAX-RS testing page of the CXF documentation提供注入(inject)模拟的模式 HttpServletRequest 进入 CXF 调用程序。这让我想到...
Spring MVC 的模拟 servlet 元素( MockHttpServletRequest 等)来自 Spring 测试模块,独立于 Mock MVC。我们能否将这些对象注入(inject)到 CXF 调用程序中?或者这将是一个兔子洞?
有没有人想出解决这个问题的方法?
.
最佳答案
Daniel - 我是 Karate 的开发者我一直在尝试的是结合使用 Mockito 和 HTTPServletRe**** 的 Spring 模拟来直接调用 servlet 并避免启动应用程序服务器。
由于 Karate 有这个swappable abstraction of an http-client ,我正在考虑在不久的将来添加此选项。
只是分享以防万一它对您有帮助,或者如果您想比较笔记。随意在 GitHub 上打开一个线程。
更新:我在这方面取得了很好的进展 - 请查看 this thread一个工作的例子。
关于jax-rs - 是否有一种无需部署即可集成测试 JAX-RS 服务的机制(例如 MockMVC)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44812650/