Как исключить занятия из сканирования с CDI-модулем?
Я запускаю тесты с CDN-модулем Runner и хочу, чтобы некоторые классы были исключены (потому что они действуют на события CDI). Я попробовал beans.xml:
<?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-блок, похоже, игнорирует его. Итак, как правильно исключить занятия с CDI-модулем?
1 ответ
Решение
Вы можете предоставить альтернативу классу, который хотите исключить, чтобы вместо него использовался альтернативный тестовый класс. С CDI Unit вы включаете свой вариант с @ActivatedAlternatives
на ваших тестах, или глобально с @ProducesAlternative
на вашем тестовом продюсере. Смотрите больше здесь: http://jglue.org/cdi-unit-user-guide/
AFAIK, CDI Unit напрямую не поддерживает исключение бобов. Но в большинстве случаев использование альтернатив достаточно.