2013-02-06 23 views
11

Próbowałem uruchomić ten Arquillian PrzykładDeployableContainer musi być określony błąd podczas uruchamiania Arquillian

https://github.com/arquillian/arquillian-examples/tree/master/arquillian-tutorial

nie ma błędu, jeżeli są przywożone w Eclipse

jednak otrzymuję ten błąd, gdy uruchom jako JUnit test:

java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:160) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:111) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:97) 
    at org.jboss.arquillian.test.spi.TestRunnerAdaptorBuilder.build(TestRunnerAdaptorBuilder.java:52) 
    at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:93) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:156) 
    ... 10 more 
Caused by: org.jboss.arquillian.container.impl.ContainerCreationException: Could not create Container jbossas-managed 
    at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:85) 
    at org.jboss.arquillian.container.impl.client.container.ContainerRegistryCreator.createRegistry(ContainerRegistryCreator.java:76) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
    at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
    at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
    at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
    at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
    at org.jboss.arquillian.core.impl.ManagerImpl.bindAndFire(ManagerImpl.java:236) 
    at org.jboss.arquillian.core.impl.InstanceImpl.set(InstanceImpl.java:74) 
    at org.jboss.arquillian.config.impl.extension.ConfigurationRegistrar.loadConfiguration(ConfigurationRegistrar.java:68) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
    at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
    at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
    at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
    at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
    at org.jboss.arquillian.core.impl.ManagerImpl.start(ManagerImpl.java:261) 
    at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.<init>(EventTestRunnerAdaptor.java:56) 
    ... 15 more 
Caused by: java.lang.IllegalArgumentException: DeployableContainer must be specified 
    at org.jboss.arquillian.core.spi.Validate.notNull(Validate.java:44) 
    at org.jboss.arquillian.container.impl.ContainerImpl.<init>(ContainerImpl.java:71) 
    at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:76) 
    ... 39 more 
+0

W jaki sposób konfigurujesz JBoss na stacji roboczej, na której próbujesz tego dokonać? Czy skonfigurowałeś zmienną środowiskową JBOSS_HOME? – Perception

+0

yes% JBOSS_HOME% jest skonfigurowany na moim komputerze – xybrek

Odpowiedz

19

POM projekt definiuje pęczek profile - arquillian-weld-ee-embedded, arquillian-glassfish-embedded i arquillian-jbossas-managed. Żadne z nich nie jest domyślnie aktywne. Musisz aktywować jedną z nich, aby uruchomić testy, ponieważ profile wprowadzają adapter kontenera Arquillian.

Bez adaptera kontenera w ścieżce klas najprawdopodobniej zostanie wyświetlony wyjątek java.lang.IllegalArgumentException z komunikatem "Wymagana jest instalacja DeployableContainer".

+0

Dobra, już to rozgryzłem. – xybrek

+0

Czy masz jakiś pomysł na naprawienie tego problemu za pomocą gradle ?, mam na myśli jak zdefiniować DeployableContainer? – Reza

+0

Świetna odpowiedź, wielkie dzięki! Pozwól mi być bardziej szczegółowym i dodaj, że problem jest tutaj (dla mnie to było w następujący sposób) my-favorite-profile org.jboss.arquillian.container arquillian-wlp-managed-8.5 ${arquillian.version}

3

Wygląda na to, że opis QuickStrat jest dość niejednoznaczny. Aby włączyć profil arq-jboss-remote domyślnie można po prostu dodać:

<activation> 
     <activeByDefault>true</activeByDefault> 
</activation> 

do tej definicji profilu w projekcie pom.xml.

Powiązane problemy