How to exclude classes from scanning with CDI-unit?

1.1k Views Asked by At

I am running tests with CDI-unit runner and want some classes to be excluded (because they act on CDI events). I tried 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>

but CDI-unit seems to be ignoring it. So what is the correct way to exclude the classes with CDI-unit?

1

There are 1 best solutions below

1
OndroMih On BEST ANSWER

You may provide an alternative of the class you want to exclude, so that the alternative test class is used instead. With CDI Unit you turn on your alternative with @ActivatedAlternatives on your tests, or globally with @ProducesAlternative on your test producer. See more here: http://jglue.org/cdi-unit-user-guide/#alternatives

AFAIK, CDI Unit does not directly support exclusion of beans. But in most cases using alternatives is sufficient.