问题标签 [jersey-test-framework]
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 - JerseyTest 默认端口更改以测试 REST WEB SERVICE
我做了一个测试用例来测试我的 Rest Web Service。但在测试用例中,我看到请求将发送到 jersey 测试框架的默认端口, http://localhost:9998
而我的服务在http://localhost:8080
. 我找不到如何将其端口更改为8080
java - 使用 Spring 进行依赖注入的 Jersey Web 服务集成测试无法初始化 @Context HttpServletRequest
我有 jersey web 服务,它使用 spring 进行依赖注入(spring-jersey 模块)和 hibernate 用于对象关系映射(ORM)。为了开发集成测试,考虑以下条件:
- 对整个测试类只初始化一次测试容器
- 将自定义侦听器、过滤器、servlet 等注册到测试容器
- 确保@Context HttpServletRequest 不为空
根据这个https://java.net/jira/browse/JERSEY-2412 Jersey 项目 JIRA 任务HttpServletRequest为空,这在任务Works as desgined的解决方案中显示。在 Grizzly 容器上运行集成测试时,它会在http服务器上运行集成测试,因此,对HttpServletRequest、HttpServletResponse 等基于 servlet 的功能的任何依赖都不可用。
似乎没有关于如何解决这个问题的标准解决方案,泽西社区显然对贡献者正在开发的这些功能持开放态度,如https://java.net/jira/browse/JERSEY-2417 JIRA 票中所述。在实施此功能之前,有哪些可能的解决方法?根据我的研究,我遇到了一些声明:
- 使用外部容器(如果我不想要怎么办?)
- 使用 jersey 的 jetty 模块(如果我不想使用 Jetty 怎么办?)
- 不适用于本项目的 SpringMVC 特定解决方案(因为我们不使用 Spring MVC)
那么,在使用 spring-jersey 桥接器进行依赖注入并依赖基于 Servlet 的功能的基于 jersey 的 Web 服务器上成功运行集成测试的最佳解决方案是什么?
rest - 为什么 JerseyTest 会抛出 ConstraintViolationException 而不是返回 400 Bad Request?
我正在使用 Jersey 版本 2.23.2,但我无法弄清楚如何JerseyTest
在验证失败时测试响应。出于某种原因,下面的测试会抛出一个ConstraintViolationException
包裹在 a 中的 aProcessingException
而不是返回400
Bad Request。我可以修改测试以检查是否ProcessingException
被抛出,但我真的想测试响应。当我在没有 的HelloResource
情况下在 Grizzly 中运行时JerseyTest
,我会得到适当的400
错误请求响应。关于如何修复以下badRequestResponse()
测试的任何想法?
这是我得到的例外:
java - 使用带有弹簧 @Value 注释的成员测试 Jersey 端点
我正在尝试使用 Jersey 并且它与 Spring 集成,以便在我们的 Spring Web 应用程序中拥有 jax-rs 端点。
我遇到的问题是,在我们的单元测试中没有填充使用 @Value 注释的应用程序成员。
用@Autowired 填充的那些工作正常,如果我为字符串创建一个setter 方法并用@Value 注释它也可以。
让我烦恼的是,直接使用@Value 注释的成员在测试中不起作用,但在部署到我们的 tomcat 中时起作用。
这是我们的测试配置的问题吗?或者这是某个地方的已知问题?
这些是我认为的相关依赖项:
一个在这里举例说明问题的小项目: https ://github.com/alexanderkjall/jersey-jetty-interaction-example/blob/master/src/main/java/no/hackeriet/bugs/SpringRequestResource.java
java - 如何让 Jersey 测试/客户端不填写默认的 Accept 标头?
我正在尝试以特定方式处理没有Accept
标头的请求,但是无论我做什么,泽西岛似乎都一心想要填写一个标头,所以看起来请求总是有Accept
标头,即使它没有.
该测试结果:
不知何故,在某处设置了一个默认Accept
标题。text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
它没有记录,我很想弄清楚如何禁用它。我查看了 Jersey 的源代码,但似乎无法找到发生这种情况的位置或原因。
更新:当我使用 curl 访问没有 Accept 标头的端点时,没有生成 Accept 标头,因此问题出在 Jersey 客户端或 Jersey 测试环境中,不知何故。
更新 2:使用默认的 Grizzly2 测试容器或 JDK 测试容器时会出现此错误,但不会出现在内存测试容器中。
java - 使用 Jersey2.0 在 JerseyTest 中访问 springbeans
我有春天的球衣项目。现在我的测试是从 JerseyTest 派生的。当我尝试做
看起来弹簧在球衣测试中不起作用。我做了一些研究,发现了一些类似 spring_jersey 的链接, 但它不起作用,因为我使用的是 jersey2.0。
我的代码看起来像
更新:
我在里面加了豆
src/test/resources/META-INF/applicationContext.xml
我添加的同一个豆子
src/main/resources/META-INF/applicationContext.xml
java - 如何测试 RESTful 应用程序?
我有一个服务的应用程序示例:
RestApp.java
消息服务.java
并且服务依赖于单例 MessagesManager.java:
这个应用程序运行良好。但在测试过程中出现注入错误:
org.glassfish.hk2.api.UnsatisfiedDependencyException: SystemInjecteeImpl 没有可用于注入的对象(requiredType=MessagesManager,parent=MessageService,qualifiers={},position=-1,optional=false,self=false,unqualified=null, 1232089028)
测试代码为:
为什么会发生以及如何解决?
java - 泽西弹簧中过滤器的单元测试
我在 web.xml 中为我的网络服务添加了一个健康链接
现在我想对这个健康检查进行单元测试
健康检查器的代码是
现在,当我执行此单元测试时,我收到 404 错误。如果我看到目标,那么目标中的 url 是http://localhost:9998/health,这是正确的。
我在 chrome 中使用了这个 url,但什么也得不到。
这是在球衣测试框架中完成的
java - 使用 Jersey Rest 测试框架和 Mockito 进行单元测试
有人可以帮我解决这个问题。我正在使用 Jersey 休息测试框架版本 2.21 为休息资源编写单元测试。(在灰熊容器上)。
当我调试测试类时,我看到了 myManager 的模拟对象。但是当调试进入我的“MyResouce 类时,myManager 对象变为 null 并获得 NullPointer 异常。
尝试过不同人给出的解决方案,但没有运气。有人可以帮助我吗?从近三天开始就有这个问题。:(
我的资源类是这样的。
这是我的测试课
java - 如何将依赖项注入 JerseyTest?
我想MyService
使用 CDI 直接注入我的 JerseyTest。是否可以?MyService
已成功注入MyResource
,但当我尝试从 MyJerseyTest 访问它时出现 NullPointerException。