Arquillian 部署应用程序但测试仅在本地运行
Arquillian deploys application but test runs only locally
我正在使用 Websphere 容器适配器 (arquillian-was-remote-8) 将 EAR 文件部署到远程容器并 运行 在其上进行 Arquillian 测试。基本设置正在运行,Arquillian 将 EAR 部署到 Websphere 容器。
然而,@Test
方法似乎只在本地执行,所有System.out.println()
语句都出现在我的本地shell,我在服务器端日志文件中找不到它们.此外,注入不起作用,myService
对象始终保持 null
.
这是我的 Arquillian 测试 class:
@RunWith(Arquillian.class)
public class MyArquillianTest {
@EJB
MyService myService;
@Deployment
public static EnterpriseArchive createEarDeployment() {
File f = new File("/path/to/application.ear");
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, f);
// add test jar to ear (https://developer.jboss.org/thread/200399)
JavaArchive testJar = ShrinkWrap.create(JavaArchive.class);
testJar.addClass(LeasmanServiceBeanIntTest.class);
return ear.addAsLibrary(testJar);
}
@Test
public void test() {
System.out.println("TEST!");
if (myService != null) {
myService.getServerStatus();
}
else {
System.out.println("Injection failed :(");
}
}
}
我也尝试过不部署整个 EAR,而是部署其中包含的单个 WAR 个文件,但总是得出相同的结果,即部署存档时保留了注入的对象 null
和没有 System.out.println()
出现在服务器端日志中。
经过大量调查和 Arquillian 论坛的帮助,我在其中发布了 this question,我终于发现我错误地使用 [=15= 构建 arquillian-was-remote-8 ] 8 而不是我的 WAS8_HOME
.
的一部分的 IBM Java (1.6)
我正在使用 Websphere 容器适配器 (arquillian-was-remote-8) 将 EAR 文件部署到远程容器并 运行 在其上进行 Arquillian 测试。基本设置正在运行,Arquillian 将 EAR 部署到 Websphere 容器。
然而,@Test
方法似乎只在本地执行,所有System.out.println()
语句都出现在我的本地shell,我在服务器端日志文件中找不到它们.此外,注入不起作用,myService
对象始终保持 null
.
这是我的 Arquillian 测试 class:
@RunWith(Arquillian.class)
public class MyArquillianTest {
@EJB
MyService myService;
@Deployment
public static EnterpriseArchive createEarDeployment() {
File f = new File("/path/to/application.ear");
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, f);
// add test jar to ear (https://developer.jboss.org/thread/200399)
JavaArchive testJar = ShrinkWrap.create(JavaArchive.class);
testJar.addClass(LeasmanServiceBeanIntTest.class);
return ear.addAsLibrary(testJar);
}
@Test
public void test() {
System.out.println("TEST!");
if (myService != null) {
myService.getServerStatus();
}
else {
System.out.println("Injection failed :(");
}
}
}
我也尝试过不部署整个 EAR,而是部署其中包含的单个 WAR 个文件,但总是得出相同的结果,即部署存档时保留了注入的对象 null
和没有 System.out.println()
出现在服务器端日志中。
经过大量调查和 Arquillian 论坛的帮助,我在其中发布了 this question,我终于发现我错误地使用 [=15= 构建 arquillian-was-remote-8 ] 8 而不是我的 WAS8_HOME
.