【发布时间】:2016-04-15 20:11:42
【问题描述】:
我正在尝试将 mockito 添加到我的 arquillian 测试中(使用 ShrinkWrap),如下所示:
@Deployment
public static Archive<?> createDeployment() {
JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
.addPackage(BeanClass.class.getPackage())
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
;
Archive[] libs = Maven.resolver()
.loadPomFromFile("pom.xml")
.resolve(
"org.mockito:mockito-all"
)
.withTransitivity()
.as(JavaArchive.class);
for (Archive lib : libs) {
archive = archive.merge(lib);
}
return archive;
}
我正在使用 Mockito 覆盖 @Alternative。但是当我添加archive = archive.merge(lib) 行时,我得到了异常:
引起:java.lang.ClassNotFoundException: org.apache.tools.ant.Task
否则我会得到
引起:java.lang.ClassNotFoundException: org.mockito.asm.signature.SignatureVisitor
其他人也经历过这种情况吗?
更新: 一些额外的信息,我正在尝试使用 wildfly 嵌入式容器进行测试:pom.xml
<dependencies>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-arquillian-container-embedded</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-embedded</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-transaction-jta</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
【问题讨论】:
标签: java mockito jboss-arquillian shrinkwrap