JUNIT如何在eclipse中读取arquillian.xml?

时间:2015-04-26 00:56:48

标签: java eclipse junit jboss-arquillian

我试图在eclipse中运行arquillian测试,而不是通过mvn运行。 在maven下,一切都很好,但是从eclipse开始,它总是给我例外:

  

org.jboss.arquillian.container.spi.ConfigurationException:jbossHome   'null'必须存在于   org.jboss.arquillian.container.spi.client.deployment.Validate.configurationDirectoryExists(Validate.java:139)     在   org.jboss.as.arquillian.container.DistributionContainerConfiguration.validate(DistributionContainerConfiguration.java:103)     在   org.jboss.as.arquillian.container.managed.ManagedContainerConfiguration.validate(ManagedContainerConfiguration.java:65)     在   org.jboss.arquillian.container.impl.ContainerImpl.createDeployableConfiguration(ContainerImpl.java:115)     在   org.jboss.arquillian.container.impl.ContainerImpl.setup(ContainerImpl.java:181)     在   org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController $ 7.perform(ContainerLifecycleController.java:149)     在   org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController $ 7.perform(ContainerLifecycleController.java:145)     在... ....

我尝试从arquillian类调试这个问题,我没有发现它试图读取arquilian.xml, 在arquillian类下

public class ManagedContainerConfiguration extends DistributionContainerConfiguration {

    /**
     * Default timeout value waiting on ports is 10 seconds
     */
    private static final Integer DEFAULT_VALUE_WAIT_FOR_PORTS_TIMEOUT_SECONDS = 10;

    private String javaVmArguments = System.getProperty("jboss.options", "-Xmx512m -XX:MaxPermSize=128m");

    private int startupTimeoutInSeconds = 60;

    private boolean outputToConsole = true;

从这个类来看,对于托管容器测试,arquillian给出了一些默认值 配置,但如何在arquillian.xml中使用我的配置来运行JUNIT测试?

我已经将arquillian.xml放在src / test / resources文件夹下。

2 个答案:

答案 0 :(得分:1)

运行 arquillian 测试时:

@RunWith(Arquillian.class)
public class ArquillianBasicTest {
...
}

对于 JBOSS 容器(wildly/jboss as),arquillian 使用环境变量 JBOSS_HOME 来查找您的容器安装。在 eclipse 中运行此测试时,无法正确读取环境变量。要克服此错误,只需在 junit 配置对话框中定义它即可。

设置示例

tab test:
    Project: game
    Test class: book.games.arquillian.ArquillianBasicTest

tab environment:
    Variable     Value
    JBOSS_HOME   /System/Volumes/Data/Ext/jboss/install

另见Environment variables in Eclipse

答案 1 :(得分:0)

它应该正在评估arquillian.xml ...你可以尝试设置你的JBOSS_HOME env变量。如果您真的想从IDE执行测试,另一个建议是使用IntelliJ。我的经验表明,在IntelliJ和测试中,一切都运行得更好。