问题标签 [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 投票
2 回答
404 浏览

java - 在 Jersey 测试框架中找不到内容类型为 application/json 的消息正文阅读器

我选择了 Jersey 测试框架来实现 REST 服务的单元测试用例。但是一旦我运行测试,我就会遇到以下问题。

注意:我什至将其添加resteasy-jackson-provider到 pom 文件中,但无济于事。

这是.pom文件依赖项

模拟服务.Java

模拟服务测试.Java

}

请让我知道我该如何克服这个问题。

0 投票
1 回答
459 浏览

java - JerseyTest 与 shiro

用这个类实例化 JerseyTest

NMAdaptorApplication 构造函数。

在执行以下测试方法时

得到以下异常

16:34:23.893 错误 [grizzly-http-server-0] crrneNMRestExceptionMapper - 在 Mapper 捕获的异常:调用代码无法访问 SecurityManager,绑定到 org.apache.shiro.util.ThreadContext 或作为 vm 静态单例。这是无效的应用程序配置。org.apache.shiro.UnavailableSecurityManagerException:调用代码无法访问 SecurityManager,绑定到 org.apache.shiro.util.ThreadContext 或作为 vm 静态单例。这是无效的应用程序配置。在 org.apache.shiro.SecurityUtils.getSecurityManager(SecurityUtils.java:123) 在 org.apache.shiro.subject.Subject$Builder.(Subject.java:627)

我猜是因为我在 web.xml 中配置的 Shiro 过滤器

而 JUnit 测试失败。是否有任何选项可以在 JerseyTest 中包含 web.xml

0 投票
1 回答
959 浏览

java - 泽西单元测试:在内存容器中与灰熊

我正试图在泽西岛进行单元测试。

不直接依赖 Jersey 的类可以使用标准 JUnit 进行单元测试。这个还行。

但是也有 Jersey(或者,我应该说 JAX-RS?)依赖类。为了测试这些(包括注释的正确性、序列化、状态码等),Jersey 提供了包含基JerseyTest类的“测试框架”。

这也很好,可以理解。

然后,然而,官方文档指定了几种类型的支持的容器,其中的子类JerseyTest可以执行。

这些容器似乎可以分为两种类型:

  1. 真正的容器
  2. 内存容器

从我目前(新手)的角度来看,所有类型 #1 的容器都提供相同的功能。因此,让我们以灰熊作为第一类代表。

现在,很明显内存容器(根本不是真正的容器)比 Grizzly 快。因此,我想使用这个容器来测试 Jersey 依赖类。但是官方文档中的这个声明让我感到困惑:

此容器不支持 servlet 和其他容器相关功能,但它是简单单元测试的完美选择。

我试图用谷歌搜索内存容器与 Grizzly 的比较,但没有找到任何明确的比较。我也阅读了这个高度技术性的线程,但我仍然不清楚内存容器的缺点。

在这方面,我有两个问题:

  1. 什么是“servlet 和其他依赖容器的特性”(不需要一个全面的列表,只是一般性的描述)?
  2. 如果我选择内存容器,我是否会遇到代码通过测试但在生产中失败的情况(如果这很重要,我将在生产中使用 Tomcat)?

谢谢

0 投票
0 回答
566 浏览

unit-testing - 带有 Jersey 测试框架的 ClassNotFoundException

我正在尝试使用Jersey 测试框架,但我对此并不满意。

哪里javax.ws.rs.client.ClientFinter来的?

这是我的依赖项。(来自:有效的 pom)

0 投票
0 回答
396 浏览

rest - Dropwizard test framework

I am using dropwizard 0.9.3 core, test helpers etc... On a rest api test, I get 404 not found error.

javax.ws.rs.NotFoundException: HTTP 404 Not Found

I have attached the code below:

Surprisingly on changing the dependency dropwizard-testing to 1.1.0, I receive another error:

0 投票
2 回答
173 浏览

java - 为什么在使用 Jersey Test 时只使用静态类来测试其余端点?

我一直在使用 JerseyTest 框架来测试我的应用程序中的端点。我对此很陌生。

我研究了我公司其他开发人员编写的其他一些测试用例。他们不直接测试 Resource 类,而是在测试用例中编写一个静态类并测试静态类。

即使在 Jersey Guide 中,我也注意到仅测试静态类的示例。

我不明白编写这样的测试用例的目的,因为我的目标是测试我的资源类,那么如果我们编写一个静态类并对其进行测试,我们将实现什么?

要测试的类如下

但是在单元测试类中测试的类

现在,如果您注意到 Configure 方法,则添加的类是在测试类中创建的静态类,而不是要测试的类 SomeController.class

如果我们不测试 SomeController 类,那么在这里编写单元测试有什么意义?我们想要达到什么目的?

0 投票
1 回答
222 浏览

rest - Esper CEP 和 Rest API

我是 Esper CEP 引擎的新手。目前,我可以通过任何方式从 csv 文件中获取事件并使用 EPL 语句提取数据,并从相关侦听器中获取输出值。

问题是我将其开发为普通的 java 应用程序,但现在我想将其实现为服务,以便客户端(它是一个普通的 Web 应用程序)可以调用我的方法并使用我的应用程序作为服务提取数据。为此,现在我正在使用 jersey 框架将应用程序开发为休息服务。

编写服务后,我使用“邮递员”检查了它,但输出显示请求失败。我调试并检查了它工作的产品,直到你到达最后 3 行。下面的行有问题吗?请告诉我如何使它正确“CSVInputAdapter inputAdapter = new CSVInputAdapter(epService, source, "MyEventClass");"

我的服务器端代码没有显示任何错误,即使在运行时也没有显示任何异常。我做错了什么?请让我知道我的方法是否正确?还是有其他方法可以做到这一点?我还附上了我的服务类。先感谢您

0 投票
1 回答
1011 浏览

java - ExceptionMapper 在 JerseyTest 框架中不起作用

我为特定对象创建了一个 RESTFUL-API 并javax.validation.Constraints用于验证,当我执行应用程序时,它按预期工作并且 ExceptionMapper 类已正确执行,但是当我尝试使用 JerseyFramework 自动化测试时,ExceptionMapper 未执行或处理。所以它在应用程序中有效,但在我测试时无效。

启动应用程序的主类

应用程序的资源配置

ValidationExceptions 的 ExceptionMapper

资源类

测试用例

POM.xml

当我通过邮递员发送时,它会返回我想要的东西:

但是当我运行测试时,我会返回:

0 投票
1 回答
178 浏览

java - 使用 GSON 时在 JerseyTest 中抛出 MessageBodyProviderNotFoundException

我使用 Jersey 并决定使用 GSON 而不是 Moxy 进行 JSON 处理(不喜欢 Moxy 需要设置器的事实)。

到目前为止一切正常,除了我的子类中的一个非常烦人的问题:除非为每个调用明​​确注册,否则无法识别JerseyTest自定义。GsonProvider但是,如果我将应用程序部署到 Tomcat,它就会被识别。

我的ResourceConfig

实施GsonProvider(尽管我认为这与我遇到的问题无关):

该测试结果MessageBodyProviderNotFoundException

为了解决这个问题,我注册GsonProvider请求。以下更改使测试通过:

因此,注册GsonProviderinMyResourceConfig有利于部署,但JerseyTest每个请求都需要额外注册。

虽然我可以忍受,但它很烦人,很耗时,而且很难与其他团队成员交流。这个问题有什么解决办法吗?

0 投票
1 回答
1196 浏览

java - 如何使用 Jersey 测试框架测试 @WebServlet?(抛出 Http 404 not found)

当我使用 Jersey 测试框架为一个类运行我的 Maven 测试时@Path,它工作正常。但是当我尝试测试一个@WebServlet类时,它没有并说这是一个 404 错误。

如何使用 Jersey 测试框架测试 Web servlet?(或者,如果这是不可能的,我还能如何测试这个?)

网络小服务程序:

测试类:

马文: