Почему я не могу имитировать преобразователь MapStruct, который зависит от других преобразователей MapStruct?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему я не могу имитировать преобразователь MapStruct, который зависит от других преобразователей MapStruct?

Сообщение Anonymous »

В моем тестовом классе у меня возникла проблема с имитацией преобразователя MapStruct (A), который зависит от других преобразователей (B и C). Вот что я пытаюсь сделать:
У меня есть преобразователь A, который использует преобразователи B и C.
Я хочу имитировать A в своем тесте Spring Boot, чтобы контролировать его поведение. .
Вот мой картограф и тестовая установка:

Код: Выделить всё

@Mapper(
componentModel = "spring",
uses = { B.class, C.class }
)
public interface A {

@Mapping(target = "dateField", dateFormat = "yyyy-MM-dd")
Entity toEntity(Dto dto);

@Mapping(target = "dateField", dateFormat = "yyyy-MM-dd")
Dto toDto(Entity entity);
}
Каждый из двух методов сопоставления использует преобразователи B и C (также реализованные с помощью MapStruct).
Сопоставители B и C не имеют зависимостей.

Код: Выделить всё

@SpringBootTest
public class UserServiceImplTest {

@Autowired
private UserServiceImpl userService;

@MockBean
private A aMapper;

@MockBean
private B bMapper;

@MockBean
private C cMapper;

@BeforeEach
void setup() {
MockitoAnnotations.openMocks(this);
// Test setup
}

// Test methods
}
Мой тест не запускается из-за проблем с зависимостями сопоставителя A, в частности из-за ошибки:
java.lang.IllegalStateException: не удалось загрузить ApplicationContext
Вызвано: org.springframework.dao.InvalidDataAccessApiUsageException: сущность не должна быть нулевой
в org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371)
// ... (усечено для краткости)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
// ... (усечено для краткости)Как правильно имитировать сопоставитель MapStruct с зависимостями в тесте Spring Boot?
Я попробовал имитировать A и его зависимости B и C с помощью @MockBean. Я ожидал, что контекст Spring загрузится успешно и позволит мне контролировать поведение A в моих тестах. Однако контекст не загружается из-за проблем с зависимостями сопоставителя A.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ct-mappers
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать правильный преобразователь Mapstruct на основе ввода в Springboot?
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Созданный MapStruct преобразователь не отображает никаких свойств.
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Созданный MapStruct преобразователь не отображает никаких свойств.
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Созданный MapStruct преобразователь не отображает никаких свойств.
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Проблема с обновлением Ubuntu 16: libssl1.1: Зависит: libc6 (>= 2.25), но установлены локали 2.23-0ubuntu11.3: Зависит:
    Anonymous » » в форуме Linux
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»