Я использую ванну Junit 5, Java, которая работает в среде webapp EE8.
В веб-приложении у меня фактически есть класс ресурсов, который используется в качестве производителя:
@ApplicationScoped
public class Resources {
@Produces
public Logger produceLog(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
@Produces
@PersistenceContext(unitName = "primary")
private EntityManager entityManager;
}
Теперь я хочу написать тест SE, и мне нужно получить альтернативный менеджер сущностей, например:
public class MockResources {
@Alternative
@JobScoped
@Produces
public EntityManager getEntityManager() {
return Persistence.createEntityManagerFactory("primary").createEntityManager();
}
}
Проблема в том, что я не знаю, как получить эту альтернативу сущности, так как bean. xml хотят класс (я пробовал с Hibernate SessionImpl, но он не работает), ни @Stereotype не выглядит хорошо для моего случая.
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="all">
<alternatives>
<class>org.hibernate.internal.SessionImpl</class>
</alternatives>
</beans>
Any помощь?