2015-09-29 4 views
1

Я запускаю тесты с бегуном CDI и хочу, чтобы некоторые классы были исключены (потому что они действуют на события CDI). Я попробовал beans.xml:Как исключить классы из сканирования с CDI-устройством?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"> 
    <scan> 
     <exclude name="com.mypackage.**"/> 
    </scan> 

</beans> 

но CDI-unit, похоже, игнорирует его. Итак, каков правильный способ исключить классы с CDI-модулем?

ответ

2

Вы можете указать альтернативу класса, который вы хотите исключить, чтобы вместо этого использовался альтернативный тестовый класс. С CDI Unit вы включаете свою альтернативу с помощью @ActivatedAlternatives в своих тестах или по всему миру с @ProducesAlternative на своем тестовом продюсере. Подробнее см. Здесь: http://jglue.org/cdi-unit-user-guide/#alternatives

AFAIK, CDI Unit напрямую не поддерживает исключение компонентов. Но в большинстве случаев использование альтернатив достаточно.

+0

Спасибо, это сработало для меня, и даже \ @Produces \ @Mock было достаточно :) – mmm

Смежные вопросы