问题标签 [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.

0 投票
4 回答
2137 浏览

java - JerseyTest 默认端口更改以测试 REST WEB SERVICE

我做了一个测试用例来测试我的 Rest Web Service。但在测试用例中,我看到请求将发送到 jersey 测试框架的默认端口, http://localhost:9998而我的服务在http://localhost:8080. 我找不到如何将其端口更改为8080

0 投票
1 回答
1236 浏览

java - 使用 Spring 进行依赖注入的 Jersey Web 服务集成测试无法初始化 @Context HttpServletRequest

我有 jersey web 服务,它使用 spring 进行依赖注入(spring-jersey 模块)和 hibernate 用于对象关系映射(ORM)。为了开发集成测试,考虑以下条件:

  1. 对整个测试类只初始化一次测试容器
  2. 将自定义侦听器、过滤器、servlet 等注册到测试容器
  3. 确保@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 票中所述。在实施此功能之前,有哪些可能的解决方法?根据我的研究,我遇到了一些声明:

  1. 使用外部容器(如果我不想要怎么办?)
  2. 使用 jersey 的 jetty 模块(如果我不想使用 Jetty 怎么办?)
  3. 不适用于本项目的 SpringMVC 特定解决方案(因为我们不使用 Spring MVC)

那么,在使用 spring-jersey 桥接器进行依赖注入并依赖基于 Servlet 的功能的基于 jersey 的 Web 服务器上成功运行集成测试的最佳解决方案是什么?

0 投票
1 回答
924 浏览

rest - 为什么 JerseyTest 会抛出 ConstraintViolationException 而不是返回 400 Bad Request?

我正在使用 Jersey 版本 2.23.2,但我无法弄清楚如何JerseyTest在验证失败时测试响应。出于某种原因,下面的测试会抛出一个ConstraintViolationException包裹在 a 中的 aProcessingException而不是返回400Bad Request。我可以修改测试以检查是否ProcessingException被抛出,但我真的想测试响应。当我在没有 的HelloResource情况下在 Grizzly 中运行时JerseyTest,我会得到适当的400错误请求响应。关于如何修复以下badRequestResponse()测试的任何想法?

这是我得到的例外:

0 投票
1 回答
247 浏览

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

0 投票
3 回答
2112 浏览

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 测试容器时会出现此错误,但不会出现在内存测试容器中。

0 投票
1 回答
415 浏览

java - 使用 Jersey2.0 在 JerseyTest 中访问 springbeans

我有春天的球衣项目。现在我的测试是从 JerseyTest 派生的。当我尝试做

看起来弹簧在球衣测试中不起作用。我做了一些研究,发现了一些类似 spring_jersey 的链接, 但它不起作用,因为我使用的是 jersey2.0。

我的代码看起来像

更新:

我在里面加了豆

src/test/resources/META-INF/applicationContext.xml

我添加的同一个豆子

src/main/resources/META-INF/applicationContext.xml

0 投票
2 回答
224 浏览

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)

测试代码为:

为什么会发生以及如何解决?

0 投票
1 回答
1338 浏览

java - 泽西弹簧中过滤器的单元测试

我在 web.xml 中为我的网络服务添加了一个健康链接

现在我想对这个健康检查进行单元测试

健康检查器的代码是

现在,当我执行此单元测试时,我收到 404 错误。如果我看到目标,那么目标中的 url 是http://localhost:9998/health,这是正确的。

我在 chrome 中使用了这个 url,但什么也得不到。

这是在球衣测试框架中完成的

0 投票
1 回答
3984 浏览

java - 使用 Jersey Rest 测试框架和 Mockito 进行单元测试

有人可以帮我解决这个问题。我正在使用 Jersey 休息测试框架版本 2.21 为休息资源编写单元测试。(在灰熊容器上)。

当我调试测试类时,我看到了 myManager 的模拟对象。但是当调试进入我的“MyResouce 类时,myManager 对象变为 null 并获得 NullPointer 异常。

尝试过不同人给出的解决方案,但没有运气。有人可以帮助我吗?从近三天开始就有这个问题。:(

我的资源类是这样的。

这是我的测试课

0 投票
1 回答
1054 浏览

java - 如何将依赖项注入 JerseyTest?

我想MyService使用 CDI 直接注入我的 JerseyTest。是否可以?MyService已成功注入MyResource,但当我尝试从 MyJerseyTest 访问它时出现 NullPointerException。