Как выбрать контейнер по квалификатору из arquillian.xml?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как выбрать контейнер по квалификатору из arquillian.xml?

Сообщение Anonymous »

Я хочу иметь разные конфигурации контейнеров в своем arquillian.xml и выбирать их в своем тесте. Но я не могу загрузить ни один контейнер, кроме контейнера по умолчанию.









Тестовый пример:

@Deployment(name="depl1")
@TargetsContainer("weld")
public static JavaArchive createTestArchive() throws UnsupportedEncodingException {
return ShrinkWrap
.create(JavaArchive.class, "test.jar")
.addClasses(SomeOtherCdiService.class)
.addAsManifestResource(new ByteArrayAsset(beansXmlContent.getBytes("utf-8")), ArchivePaths.create("beans.xml"));
}

@Test
@OperateOnDeployment("depl1")
public void shouldBeAbleToInjectInject() {
assertNotNull(someOtherCdiService);
}


Но тесты не запускаются, потому что Arquilian не находит контейнер


org.jboss.arquillian.container.test.impl.client.deployment.ValidationException:
DeploymentScenario содержит целевые объекты, не соответствующие ни одному определенному контейнеру
в реестре. сварка. Возможные причины: В пути к классам не найден развертываемый контейнер
или вы определили
@org.jboss.arquillian.container.test.api.Deployment с помощью
@org.jboss.arquillian. ЗначениеContainer.test.api.TargetsContainer, которое
не соответствует ни одному из найденных/настроенных контейнеров (см. arquillian.xml
Container@qualifier)


Я заглянул в исходный код и обнаружил, что Aquilian находит только контейнер _DEFAULT_.

Тесты работают, когда Я удаляю @TargetsContainer("weld") из метода развертывания. Поэтому я думаю, что общий тест в порядке.

Тесты также будут работать, если я изменю конфигурацию контейнера на default="true" (), то тесты работают, поэтому я думаю, что файл конфигурации загружен.

Есть ли у кого-нибудь идеи, что происходит не так? >



Подробности

Полная трассировка стека:

org.jboss.arquillian.container.test.impl.client.deployment.ValidationException:
DeploymentScenario contains targets not matching any defined Container in the registry. weld.
Possible causes are: No Deployable Container found on Classpath or your have defined a
@org.jboss.arquillian.container.test.api.Deployment with a
@org.jboss.arquillian.container.test.api.TargetsContainer value that does not match any found/configured Containers
(see arquillian.xml container@qualifier) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o n t a i n e r . t e s t . i m p l . c l i e n t . d e p l o y m e n t . D e p l o y m e n t G e n e r a t o r . v a l i d a t e ( D e p l o y m e n t G e n e r a t o r . j a v a : 1 0 2 ) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o n t a i n e r . t e s t . i m p l . c l i e n t . d e p l o y m e n t . D e p l o y m e n t G e n e r a t o r . g e n e r a t e D e p l o y m e n t ( D e p l o y m e n t G e n e r a t o r . j a v a : 8 4 ) < b r / > a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) < b r / > a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 3 9 ) < b r / > a t s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 2 5 ) < b r / > a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 5 9 7 ) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o r e . i m p l . O b s e r v e r I m p l . i n v o k e ( O b s e r v e r I m p l . j a v a : 9 0 ) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o r e . i m p l . E v e n t C o n t e x t I m p l . i n v o k e O b s e r v e r s ( E v e n t C o n t e x t I m p l . j a v a : 9 9 ) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o r e . i m p l . E v e n t C o n t e x t I m p l . p r o c e e d ( E v e n t C o n t e x t I m p l . j a v a : 8 1 ) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o r e . i m p l . M a n a g e r I m p l . f i r e ( M a n a g e r I m p l . j a v a : 1 3 4 ) < b r / > a t o r g . j b o s s . a r q u i l l i a n . c o r e . i m p l . M a n a g e r I m p l .fire(ManagerImpl.java:114)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
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.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:179)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:311)
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:196)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:144)
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)


Зависимости POM.XML


javax.enterprise
cdi-api
1.0-SP4
provided


javax.annotation
jsr250-api
provided
1.0


javax.validation
validation-api
provided
1.0.0.GA


org.hibernate
hibernate-validator
4.0.0.GA
provided


slf4j-api
org.slf4j





javax.faces
jsf-api
2.0
provided





javax.ejb
ejb-api
3.0
provided




junit
junit
4.10
test



org.hamcrest
hamcrest-core
${hamcrest.version}
test


org.hamcrest
hamcrest-library
${hamcrest.version}
test



org.jboss.arquillian.junit
arquillian-junit-container
1.0.0.CR6
test



org.jboss.arquillian.container
arquillian-weld-se-embedded-1.1
1.0.0.CR3

test





org.jboss.weld.se
weld-se-core
1.1.5.Final
test



org.jboss.weld
weld-core
1.1.5.Final


slf4j-api
org.slf4j


test



org.javassist
javassist
3.14.0-GA
test



org.slf4j
slf4j-jdk14
1.6.1
test



Подробнее здесь: https://stackoverflow.com/questions/974 ... illian-xml
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»