场景:
我目前正在尝试使用arquillian在javaee应用程序中开发单元测试。作为测试容器,我使用在wildfly服务器上运行的远程容器。只要所需的源类在test目录中,安装程序就可以用于test。
问题:
一旦我要对其执行测试的类在测试目录之外,类加载器就不能再识别它们,并且我不能再像以前那样使用包覆面提取将它们添加到微部署中。
我做错了什么,忘记了什么?我觉得在我的项目中这可能是一个非常简单的设置问题,因为我对maven和javaee也是新手。由于只要所有资源都在test目录中,安装程序似乎就可以工作,所以我假设这个错误不是依赖性问题,而是我的项目设置的问题。这是我在stackoverflow的第一个问题,请说出我这边的缺点:d
错误消息
Could not invoke deployment method: public static org.jboss.shrinkwrap.api.spec.JavaArchive de.mathplan.moses.core.studiengang.model.StudiengangTest.createDeployment()
at org.jboss.shrinkwrap.api.asset.ClassLoaderAsset.<init>(ClassLoaderAsset.java:70)
at org.jboss.shrinkwrap.impl.base.URLPackageScanner.foundClass(URLPackageScanner.java:165)
at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:157)
at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:145)
at org.jboss.shrinkwrap.impl.base.URLPackageScanner.scanPackage(URLPackageScanner.java:113)
at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addPackage(ContainerBase.java:1520)
at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addPackages(ContainerBase.java:1497)
at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addClasses(ContainerBase.java:1358)
at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addClass(ContainerBase.java:1285)
at de.mathplan.moses.core.studiengang.model.StudiengangTest.createDeployment(StudiengangTest.java:18)
]]></error>
阿奎尔依赖
<!-- inside profile -->
<dependency>
<groupId>org.wildfly.arquillian</groupId>
<artifactId>wildfly-arquillian-container-remote</artifactId>
<version>3.0.1.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.7.0.Alpha5</version>
<scope>test</scope>
</dependency>
<!-- client deployment APIs for communicating with the container process -->
<dependency>
<groupId>org.jboss.arquillian.protocol</groupId>
<artifactId>arquillian-protocol-servlet</artifactId>
<version>1.4.0.Final</version>
<scope>test</scope>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.4.0.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
1条答案
按热度按时间q9rjltbz1#
您必须配置存储在src/test/resources文件夹中的arquillian.xml文件。
此文件的示例如下:
配置maven failsafe插件时,使用arquillian.xml中的限定符“remote”,如下所示:
要运行集成测试,可以使用: