如何从 CDI 单元扫描中排除 类?

How to exclude classes from scanning with CDI-unit?

我正在 运行 使用 CDI 单元运行器进行测试,并希望排除一些 类(因为它们作用于 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-unit 排除 类 的正确方法是什么?

您可以提供要排除的 class 的替代项,以便使用替代测试 class。使用 CDI 单元,您可以在测试中使用 @ActivatedAlternatives 打开您的替代方案,或者在您的测试制作者上使用 @ProducesAlternative 全局打开您的替代方案。在此处查看更多信息:http://jglue.org/cdi-unit-user-guide/#alternatives

据我所知,CDI 单元不直接支持排除 bean。但在大多数情况下,使用替代方案就足够了。