我想用 Arquillian 测试一个 Java EE 应用程序。一个简单的设置是把一些测试类放到 Arquillian 管理的服务器上来测试它们。
现在,我想使用在构建过程中构建的 EAR 文件。和
@Deployment
public static EnterpriseArchive createDeployment() {
File earFile = ...
EnterpriseArchive archive = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, earFile);
return archive;
}
我可以通过 Arquillian 将 EAR 放到 JBoss 中。我看到了部署,部署期间没有错误。只有 Arquillian 返回一个错误,它找不到测试类,这显然是可以的。
现在是在哪里放置测试类的问题。我可以将测试类放入 Arquillian 放入 EAR 的 test.war 中,但我得到了 ArquillianServletRunner not found 异常。当我将测试类作为模块或库放入 JAR 文件中时,当作为模块放入时找不到测试类,或者由于依赖问题而作为库放入时注入不起作用。
我必须把测试课放在哪里???
我的 arquillian.xml:
<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://jboss.org/schema/arquillian"
xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<defaultProtocol type="Servlet 3.0" />
<container qualifier="jboss7" default="true">
<configuration>
<property name="jbossHome">${cargo.dir}/jboss-as-dist-7.1.1.Final/jboss-as-7.1.1.Final</property>
</configuration>
</container>
<engine>
<property name="deploymentExportPath">target/deployments</property>
</engine>
</arquillian>