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)