- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如何将 POM 中的所有依赖项添加到 arquillian 中?
Maven.resolver().loadPomFromFile("pom.xml").importRuntimeDependencies()
.as(File.class);
我找到了那行,但我的 Maven
在 intellij 中是红色的,因为它没有找到类。我不知道我需要哪些依赖项。还是有更好的方法?
最佳答案
将 Arquillian 依赖项添加到您的 pom.xml
:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.1.8.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
将 ShrinkWrap 解析器(Maven 实现)添加到您的 pom.xml
:
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
<scope>test</scope>
</dependency>
如果您使用的是 JUnit,请将 Arquillian JUnit 容器添加到您的 pom.xml
:
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
在您的测试类中,在使用 @Deployment
注释的方法中,使用以下行导入运行时依赖项:
File[] files = Maven.resolver().loadPomFromFile("pom.xml")
.importRuntimeDependencies().resolve().withTransitivity().asFile();
并使用 addAsLibraries(files)
方法将依赖项添加到您的部署中:
WebArchive war = ShrinkWrap.create(WebArchive.class)
.addClass(MyClass1.class)
.addClass(MyClass2.class)
.addClass(MyClass3.class)
.addAsLibraries(files);
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
import java.io.File;
@RunWith(Arquillian.class)
public class MyTestClassWithMavenDependencies {
@Deployment
public static WebArchive createDeployment() {
// Import Maven runtime dependencies
File[] files = Maven.resolver()
.loadPomFromFile("pom.xml")
.importRuntimeDependencies()
.resolve()
.withTransitivity()
.asFile();
// Create deploy file
WebArchive war = ShrinkWrap.create(WebArchive.class)
.addClass(MyClass1.class)
.addClass(MyClass2.class)
.addClass(MyClass3.class)
.addAsLibraries(files);
// Show the deploy structure
System.out.println(war.toString(true));
return war;
}
// Create your tests here
}
注意 1: 上述解决方案已使用 Arquillian 1.1.8.Final
进行了测试。在 documentation 上查看最新版本的 Arquillian Artifact .
注意 2: 有关如何解决依赖关系的更多详细信息,请查看 ShrinkWrap Resolvers documentation .
关于java - 将所有 Maven 依赖项添加到 Arquillian,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13001371/
我尝试学习 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
我是一名优秀的程序员,十分优秀!