- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试使 arquillian 工作,但我的单元测试之一有问题。它在类 org.jboss.arquillian.core.api.threading.ExecutorService
上的 CLassNotFoundException 上失败.也许我忘记了我的 pom.xml 中的依赖项,或者我误解了一些东西但我无法解决这个问题。
这是堆栈跟踪:
java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor
at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:160)
at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:111)
at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:97)
at org.jboss.arquillian.test.spi.TestRunnerAdaptorBuilder.build(TestRunnerAdaptorBuilder.java:52)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:95)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
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:120)
Caused by: java.lang.reflect.InvocationTargetException
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.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:156)
... 37 more
Caused by: java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.core.impl.ManagerImpl
at org.jboss.arquillian.core.spi.SecurityActions.newInstance(SecurityActions.java:160)
at org.jboss.arquillian.core.spi.SecurityActions.newInstance(SecurityActions.java:111)
at org.jboss.arquillian.core.spi.SecurityActions.newInstance(SecurityActions.java:97)
at org.jboss.arquillian.core.spi.ManagerBuilder.create(ManagerBuilder.java:77)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.<init>(EventTestRunnerAdaptor.java:55)
... 42 more
Caused by: java.lang.reflect.InvocationTargetException
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.jboss.arquillian.core.spi.SecurityActions.newInstance(SecurityActions.java:156)
... 46 more
Caused by: java.lang.NoClassDefFoundError: org/jboss/arquillian/core/api/threading/ExecutorService
at org.jboss.arquillian.core.impl.ManagerImpl$3.call(ManagerImpl.java:470)
at org.jboss.arquillian.core.impl.ManagerImpl.executeInApplicationContext(ManagerImpl.java:242)
at org.jboss.arquillian.core.impl.ManagerImpl.createBuiltInServices(ManagerImpl.java:465)
at org.jboss.arquillian.core.impl.ManagerImpl.<init>(ManagerImpl.java:94)
... 51 more
Caused by: java.lang.ClassNotFoundException: org.jboss.arquillian.core.api.threading.ExecutorService
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 55 more
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>be.normegil</groupId>
<artifactId>librarium</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>librarium</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
<!-- Apache Commons -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.1</version>
</dependency>
<!-- JEE 7 - API -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<!-- JEE 7 - JPA -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.4.Final</version>
</dependency>
<!-- TEST DEPENDANCIES -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.1.4.Final</version>
<scope>test</scope>
</dependency>
<!-- REST Testing framework -->
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>2.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-arquillian-container-embedded</artifactId>
<version>8.1.0.CR1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- Used by persistence.xml in test resources -->
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
</project>
GameREST.java
package be.normegil.librarium.rest;
import be.normegil.librarium.model.dao.GameDAO;
import be.normegil.librarium.model.data.Game;
import org.apache.commons.lang3.Validate;
import javax.inject.Inject;
import javax.ws.rs.*;
import java.util.Collection;
@Path("/games")
public class GameREST {
private GameDAO gameDAO;
@GET
@Path("/all")
@Produces("application/json")
public Collection<Game> getGamesList() {
return gameDAO.getAll();
}
@GET
@Path("{ID}")
@Produces("application/json")
public Game getGame(@PathParam("ID") Long id) {
Validate.notNull(id);
return gameDAO.get(id);
}
@PUT
@Path("{Name}")
@Produces("application/json")
public void createGame(@PathParam("Name") String name) {
Validate.notNull(name);
Game game = new Game(name);
gameDAO.save(game);
}
@POST
@Path("{ID}/{Name}")
public void updateGame(@PathParam("ID") Long id,
@PathParam("Name") String name) {
Validate.notNull(id);
Validate.notNull(name);
Game game = gameDAO.get(id);
if(game == null){
throw new IllegalArgumentException("No game found for ID : " + id);
}
game.setName(name);
gameDAO.save(game);
}
@DELETE
@Path("{ID}")
public void deleteGame(@PathParam("ID") Long id) {
Validate.notNull(id);
Game game = gameDAO.get(id);
if(game == null){
throw new IllegalArgumentException("No game found for ID : " + id);
}
gameDAO.remove(game);
}
@Inject
public void setGameDAO(final GameDAO gameDAO) {
this.gameDAO = gameDAO;
}
}
GameRESTTestREST.java
package be.normegil.librarium.rest;
import be.normegil.librarium.LibrariumApplication;
import org.apache.http.HttpStatus;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;
import static com.jayway.restassured.RestAssured.expect;
@RunWith(Arquillian.class)
public class GameRESTTestREST {
@Deployment
public static WebArchive createTestArchive() {
return ShrinkWrap.create(WebArchive.class)
.addClass(GameREST.class)
.addClass(LibrariumApplication.class);
}
@Test
@RunAsClient
public void testGetAll() throws Exception {
expect()
.statusCode(HttpStatus.SC_OK)
.log().ifError()
.when()
.get("/games/all");
}
}
ClassNotFoundException
在
org.jboss.arquillian.core.api.threading.ExecutorService
?知道问题出在哪里吗?
最佳答案
尝试添加
<dependency>
<groupId>org.jboss.arquillian.core</groupId>
<artifactId>arquillian-core-api</artifactId>
<version>1.1.4.Final</version>
<scope>test</scope>
</dependency>
关于jakarta-ee - Arquillian - ClassNotFound on org.jboss.arquillian.core.api.threading.ExecutorService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474223/
我尝试学习 JBoss Arquillian,遵循 formal document并对配置 arquillian.xml 感到困惑。既然提到过一次here . 甚至我还发现在container ada
我有一套相当大的 Selenium 驱动的 UI 测试,维护起来非常麻烦。我读过有关 Arquillian Graphene 及其好处的文章,让 Selenium 的生活不再那么痛苦。 我想知道是否可
我想使用 arquillian 创建集成测试。作为部署,我想使用也用于在生产中部署的耳朵。 所以这是我的部署: @Deployment(testable = true) public static A
我想建立一个用于集成测试的基础设施。目前我们使用maven引导tomcat,然后执行httpunit测试。但当前的解决方案有一些缺点。 如果测试通过,提交到数据库的任何更改最终都需要手动回滚 在集成测
Arquillian 配置文件 Arquillian.xml 如何在项目和团队成员之间共享? C:\test\wildfly-8.1.0.Final -D
如何在不同的浏览器(例如 Chrome)中使用 Graphene 2? (默认的 htmlUnit 对我来说效果不佳。) 在 Arquillian 容器内运行 Wildfly 8.1 服务器,我想使用
我已经将 arquillian 与 jboss-as-7.1.1.Final 结合使用了一段时间。 我想开始使用 wildfly 8.0.0.Final,但我无法让它工作。 我只更改了我的 pom.x
我目前正在尝试使 arquillian 工作,但我的单元测试之一有问题。它在类 org.jboss.arquillian.core.api.threading.ExecutorService 上的 C
我正在尝试让 arquillian 与 jboss 7 一起运行。我已经从 JBoss 站点下载了 Quickstart 项目,地址为 http://www.jboss.org/jbossas/dow
在互联网上我经常找到关于这个主题的最新但相反的信息...,因此我想问一个关于最低要求的问题。 我的目标是对简单的 EJB 3.1 应用程序进行非常简单的集成测试: 使用 EclipseLink 的简单
我在 http://arquillian.org/guides/testing_java_persistence/ 上完成了 JPA 教程,但是当我尝试将测试(指南的“在 GlassFish 上运行测
我正在使用 arquillian 站点上的 Greeter 示例运行基本的 arquillian 单元测试。唯一的区别是在 Greeter.java 的 greet(PrintStream to, S
我无法进行简单的 Arquillian 测试运行。当我尝试使用 GlassFish 远程容器运行 Arquillian 时出现以下错误: Jun 12, 2016 3:50:05 PM org.jbo
创建 ShrinkWrap 后,我可以使用这行代码查看文件结构 System.out.println(webArchive.toString(true)); 我想知道是否可以在shrinkWrap中看
我正在使用带有嵌入式 glassfish 3.1.2.2 的 Arquillian 和 TestNG 编写集成测试。我希望能够并行运行这些测试,对于这种情况,我需要动态配置 glassfish 端口和
我在使用 pom.xml 依赖项创建 JUnit 测试时遇到问题。 测试正在使用 Arquillian 运行 @RunWith(Arquillian.class) 在这个方法中 @Deployment
我有一个简单的 Wildfly Swarm 应用程序,它具有 JAX-RS 端点和通过 CDI 注入(inject)端点的服务类。 我为我的应用程序编写了一个集成测试,看起来像这样: @RunWith
情况:JUnit 能够并行运行多个测试方法/类。我们有一堆使用 Arquillian 的集成测试。在这些测试中,我们使用我们的 maven-build war 工件作为 @Deployment 并使用
我在一个使用 weld CDI 和 JPA 的项目中安装 Arquillian,我正在尝试使用嵌入式 GlassFish 容器(我读到 Weld 嵌入式容器不支持 JPA)。 我在我的 pom.xml
我有一个使用 Arquillian 库进行测试的 Java 应用程序。我现在正尝试添加 Arquillian 记者扩展。如 https://github.com/arquillian/arquilli
我是一名优秀的程序员,十分优秀!