我试图在我的项目中使用JerseyTest框架添加ReST调用的单元测试。我复制粘贴了一个最简单的示例,但出现了一个运行时异常:
java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:298)
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:272)
at org.glassfish.jersey.test.JerseyTest.<init>(JerseyTest.java:142)
at com.dfc.warroom.rest.SimpleTest.<init>(SimpleTest.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:187)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:236)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:233)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
附加代码和pom依赖项:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Application;
import static junit.framework.Assert.assertEquals;
public class SimpleTest extends JerseyTest {
@Path("hello")
public static class HelloResource {
@GET
public String getHello() {
return "Hello World!";
}
}
@Override
protected Application configure() {
return new ResourceConfig(HelloResource.class);
}
@Test
public void test() {
final String hello = target("hello").request().get(String.class);
assertEquals("Hello World!", hello);
}
}
<dependencies>
<dependency>
<groupId>com.dfc</groupId>
<artifactId>war-room</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<!-- if your container implements Servlet API older than 3.0, use "jersey-container-servlet-core" -->
<artifactId>jersey-container-servlet</artifactId>
<version>2.6</version>
</dependency>
<!-- Required only when you are using JAX-RS Client -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.3.0</version>
</dependency>
<!-- Testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jetty</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.eclipsesource.jaxrs</groupId>
<artifactId>jersey-all</artifactId>
<version>2.8</version>
</dependency>
</dependencies>
我也遇到了同样的问题,我正在通过传递方式获取这个库:org。玻璃鱼。运动衫媒体:jersey media json jackson:jar:2.14
我的所有jersey LIB版本2.6(不包括上述版本)都通过了测试用例。我补充说:
<exclusion>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
</exclusion>
</exclusions>
通过删除jersey服务器和jersey所有依赖项,将jersey依赖项更新到最新版本(2.15)并添加jetty依赖项来解决。
如前所述,此错误是由于依存关系中的冲突(可能是jersey 1和jersey 2之间的冲突)。更多信息请点击此处。事实上,您在pom中使用了jersey server的1.18版本和其他2.6版本。xml。
我是新来的单元测试,我试图运行一个简单的测试,但按下"运行测试"按钮后,它的负载,然后什么都没有 怎么了????!!
本文向大家介绍PHP单元测试PHPUnit简单用法示例,包括了PHP单元测试PHPUnit简单用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP单元测试PHPUnit简单用法。分享给大家供大家参考,具体如下: windows开发环境下,PHP使用单元测试可以使用PHPUnit。 安装 首先下载PHPUnit,官网:https://phpunit.de/ 根据自己的PHP版本下
我无法使用jhipster对web层进行单元测试(根据spring gs指南): 上面的单元测试在green-field spring boot项目的情况下成功,但在基于green-field spring boot的jhipster项目的情况下失败: 在FlightResource的jhispter项目(springboot-with-jhipster)中运行单元测试时,我得到了:
一、JUnit 是什么? JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。 Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。 二、IDEA 的 开始JUnit测试 测试项:查询全部用户数据 junit测试方法:
我只是跟随akka样本,但不能运行程序。 我已经使用自制程序(OSX Mountail Lion)安装了akka、sbt(0.13)、scala(2.10.3) 创建名为AKKA_TEST的空目录 创建build.sbt和hello.scala文件 在akka_test目录中运行sbt,编译命令运行良好 SBT的run命令抱怨没有检测到主类
几周前,我正在进行单元测试,它们按照预期进行构建和运行。 我休假了一周,今天早上启动了我的机器,没有对单元测试项目进行任何代码更改,测试就不再运行了。 当我说“测试不再运行”时,我并不是说它们失败了;他们实际上不会逃跑。 我试过运行或调试一个特定的测试,我试过运行或调试所有的测试,我试过从每个测试方法名称旁边的Resharper图标,我试过从test菜单项,我试过从“Unit test Sessi