问题标签 [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 - 在 Jersey 测试框架中找不到内容类型为 application/json 的消息正文阅读器
我选择了 Jersey 测试框架来实现 REST 服务的单元测试用例。但是一旦我运行测试,我就会遇到以下问题。
注意:我什至将其添加resteasy-jackson-provider
到 pom 文件中,但无济于事。
这是.pom
文件依赖项
模拟服务.Java
模拟服务测试.Java
}
请让我知道我该如何克服这个问题。
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
java - 泽西单元测试:在内存容器中与灰熊
我正试图在泽西岛进行单元测试。
不直接依赖 Jersey 的类可以使用标准 JUnit 进行单元测试。这个还行。
但是也有 Jersey(或者,我应该说 JAX-RS?)依赖类。为了测试这些(包括注释的正确性、序列化、状态码等),Jersey 提供了包含基JerseyTest
类的“测试框架”。
这也很好,可以理解。
然后,然而,官方文档指定了几种类型的支持的容器,其中的子类JerseyTest
可以执行。
这些容器似乎可以分为两种类型:
- 真正的容器
- 内存容器
从我目前(新手)的角度来看,所有类型 #1 的容器都提供相同的功能。因此,让我们以灰熊作为第一类代表。
现在,很明显内存容器(根本不是真正的容器)比 Grizzly 快。因此,我想使用这个容器来测试 Jersey 依赖类。但是官方文档中的这个声明让我感到困惑:
此容器不支持 servlet 和其他容器相关功能,但它是简单单元测试的完美选择。
我试图用谷歌搜索内存容器与 Grizzly 的比较,但没有找到任何明确的比较。我也阅读了这个高度技术性的线程,但我仍然不清楚内存容器的缺点。
在这方面,我有两个问题:
- 什么是“servlet 和其他依赖容器的特性”(不需要一个全面的列表,只是一般性的描述)?
- 如果我选择内存容器,我是否会遇到代码通过测试但在生产中失败的情况(如果这很重要,我将在生产中使用 Tomcat)?
谢谢
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:
java - 为什么在使用 Jersey Test 时只使用静态类来测试其余端点?
我一直在使用 JerseyTest 框架来测试我的应用程序中的端点。我对此很陌生。
我研究了我公司其他开发人员编写的其他一些测试用例。他们不直接测试 Resource 类,而是在测试用例中编写一个静态类并测试静态类。
即使在 Jersey Guide 中,我也注意到仅测试静态类的示例。
我不明白编写这样的测试用例的目的,因为我的目标是测试我的资源类,那么如果我们编写一个静态类并对其进行测试,我们将实现什么?
要测试的类如下
但是在单元测试类中测试的类
现在,如果您注意到 Configure 方法,则添加的类是在测试类中创建的静态类,而不是要测试的类 SomeController.class
如果我们不测试 SomeController 类,那么在这里编写单元测试有什么意义?我们想要达到什么目的?
rest - Esper CEP 和 Rest API
我是 Esper CEP 引擎的新手。目前,我可以通过任何方式从 csv 文件中获取事件并使用 EPL 语句提取数据,并从相关侦听器中获取输出值。
问题是我将其开发为普通的 java 应用程序,但现在我想将其实现为服务,以便客户端(它是一个普通的 Web 应用程序)可以调用我的方法并使用我的应用程序作为服务提取数据。为此,现在我正在使用 jersey 框架将应用程序开发为休息服务。
编写服务后,我使用“邮递员”检查了它,但输出显示请求失败。我调试并检查了它工作的产品,直到你到达最后 3 行。下面的行有问题吗?请告诉我如何使它正确“CSVInputAdapter inputAdapter = new CSVInputAdapter(epService, source, "MyEventClass");"
我的服务器端代码没有显示任何错误,即使在运行时也没有显示任何异常。我做错了什么?请让我知道我的方法是否正确?还是有其他方法可以做到这一点?我还附上了我的服务类。先感谢您
java - ExceptionMapper 在 JerseyTest 框架中不起作用
我为特定对象创建了一个 RESTFUL-API 并javax.validation.Constraints
用于验证,当我执行应用程序时,它按预期工作并且 ExceptionMapper 类已正确执行,但是当我尝试使用 JerseyFramework 自动化测试时,ExceptionMapper 未执行或处理。所以它在应用程序中有效,但在我测试时无效。
启动应用程序的主类
应用程序的资源配置
ValidationExceptions 的 ExceptionMapper
资源类
测试用例
POM.xml
当我通过邮递员发送时,它会返回我想要的东西:
但是当我运行测试时,我会返回:
java - 使用 GSON 时在 JerseyTest 中抛出 MessageBodyProviderNotFoundException
我使用 Jersey 并决定使用 GSON 而不是 Moxy 进行 JSON 处理(不喜欢 Moxy 需要设置器的事实)。
到目前为止一切正常,除了我的子类中的一个非常烦人的问题:除非为每个调用明确注册,否则无法识别JerseyTest
自定义。GsonProvider
但是,如果我将应用程序部署到 Tomcat,它就会被识别。
我的ResourceConfig
:
实施GsonProvider
(尽管我认为这与我遇到的问题无关):
该测试结果MessageBodyProviderNotFoundException
:
为了解决这个问题,我注册GsonProvider
请求。以下更改使测试通过:
因此,注册GsonProvider
inMyResourceConfig
有利于部署,但JerseyTest
每个请求都需要额外注册。
虽然我可以忍受,但它很烦人,很耗时,而且很难与其他团队成员交流。这个问题有什么解决办法吗?
java - 如何使用 Jersey 测试框架测试 @WebServlet?(抛出 Http 404 not found)
当我使用 Jersey 测试框架为一个类运行我的 Maven 测试时@Path
,它工作正常。但是当我尝试测试一个@WebServlet
类时,它没有并说这是一个 404 错误。
如何使用 Jersey 测试框架测试 Web servlet?(或者,如果这是不可能的,我还能如何测试这个?)
网络小服务程序:
测试类:
马文: