繁体   English   中英

不同的Jersey测试容器之间有什么区别?

[英]What's the difference between the different Jersey test containers?

根据http://jersey.java.net/nonav/apidocs/latest/jersey/jersey-test-framework/jersey-test-framework-core/com/sun/jersey/test/framework/JerseyTest.html,用户可以选择在两种测试容器之间:

  1. 不支持servlet的低级容器
  2. 不支持Servlet的基于Web的容器

我有以下问题:

  1. 每种容器的优点/缺点是什么? 例如,我假设低级容器速度更快,但是缺少某种功能。
  2. 低级容器不支持servlet的事实意味着什么? 我认为JAX-RS是基于Servlet的。 低层容器不能做什么?

更新

经过进一步的研究,我发现低级容器速度更快,但实际上它们没有Servlet即可运行。 当客户端发出请求时,将构建适当的资源,并将响应全部传递回客户端。 这类似于运行嵌入式数据库,而不是运行基于常规网络的JDBC连接。

没有提供ServletContextListener,注册Servlet或过滤器的机制。 我猜测请求范围也不被支持。

我的问题是,在这些限制下,您真的可以测试任何有意义的东西吗?

“ ...您真的可以在这些限制下测试任何有意义的东西吗?”

您可以测试您的业务逻辑,并更快地进行。

(不过,我们希望看到此修复程序: JERSEY-622 。内存中的测试容器不支持Jackson,即Jersey的POJO映射功能。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM