Я пытаюсь смоделировать класс, который создает экземпляр DatabaseConnection через Hibernate над другим классом, но я получаю ошибки фабрики ошибок SLF4J в классе, но я хочу, чтобы Logger запускался в этом тесте. Как я могу исправить это, чтобы Mock класса и затем успешно создать List и Logger?
Я пытался издеваться над классом (Ingredientadminsitration), а затем это:
PowerMockito.mockStatic(LoggerFactory.class);
when(LoggerFactory.getLogger(any(Class.class))).
thenReturn(loggerMock);
Ingredientadministration.java
@Slf4j
public class Ingredientsadministration {
private ObservableList<Ingredient> zutaten;
private SQLConnection sqlConnection;
private static Ingredientsadministration ingredientsadministration;
private Logger logger;
private Ingredientsadministration() {
logger = LoggerFactory.getLogger(this.getClass());
connectToDB();
zutaten = FXCollections.observableArrayList(sqlConnection.getZutaten());
}
public static Ingredientsadministration getInstance() {
if (ingredientsadministration == null) {
ingredientsadministration = new Ingredientsadministration();
}
return ingredientsadministration;
}
MySQLHibernate.java
@Slf4j
public class MySQLConnectHibernate implements SQLConnection {
private static SessionFactory sessionFactory;
private Session session;
private Logger logger;
private static MySQLConnectHibernate entity;
private MySQLConnectHibernate() throws ServiceException {
logger = LoggerFactory.getLogger(this.getClass());
setup();
}
public static MySQLConnectHibernate getInstance() {
if (entity == null) {
entity = new MySQLConnectHibernate();
}
return entity;
}
private void setup() throws ServiceException {
if (sessionFactory == null) {
sessionFactory = new Configuration().configure().buildSessionFactory();
logger.debug("Create new SessionFactory={}.", sessionFactory);
}
}