我试图在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文件夹下。
答案 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
答案 1 :(得分:0)
它应该正在评估arquillian.xml ...你可以尝试设置你的JBOSS_HOME env变量。如果您真的想从IDE执行测试,另一个建议是使用IntelliJ。我的经验表明,在IntelliJ和测试中,一切都运行得更好。