繁体   English   中英

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测试班:

@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论坛的大量调查和帮助(我在论坛上发布了此问题) ,我最终发现,我错误地使用Java 8而不是IBM Java(1.6)来构建arquillian-was-remote-8。我WAS8_HOME一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM