ApplicationModuleTest — BeanInstantiationException: репозиторий для типа не найденJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 ApplicationModuleTest — BeanInstantiationException: репозиторий для типа не найден

Сообщение Anonymous »

Я запускаю Spring Modulith ApplicationModuleTest в приложении, которое имеет модуль Spring Data Rest с логикой CRUD, наряду с другими модулями Spring Data JDBC с «реальной» логикой предметной области.
Модуль CRUD содержит сущность Tenant и определяет компонент RepositoryRestConfigurer, который выполняет некоторые конфигурации репозитория:

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

@Component
public class MyRepositoryRestConfigurer implements RepositoryRestConfigurer {

@Override
public void configureRepositoryRestConfiguration(
RepositoryRestConfiguration config, CorsRegistry cors) {

config.setRepositoryDetectionStrategy(
RepositoryDetectionStrategy.RepositoryDetectionStrategies.ANNOTATED);

config
.withEntityLookup()
.forRepository(TenantRepository.class)
.withIdMapping(Tenant::getDomainKey)
.withLookup(TenantRepository::findTenantByDomainKey);

config.exposeIdsFor(Tenant.class);
}
}
Некоторые из моих тестов завершаются неудачей со следующим исключением, хотя приложение Modulith работает нормально:

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

BeanInstantiationException: Failed to instantiate
[org.springframework.data.repository.support.RepositoryInvokerFactory]:
Factory method 'repositoryInvokerFactory' threw exception with message: No repository found for type
Тесты проверяют @BasePathAwareController и помечаются как @ApplicationModuleTest. Они используют @MockitoBean в репозитории, который не может быть найден RepositoryInvokerFactory.
Субъект Tenant, тестируемые контроллеры и тесты — все это части модуля CRUD.
Как я могу успешно запустить тесты?

Подробнее здесь: https://stackoverflow.com/questions/798 ... d-for-type
Ответить

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

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

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

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

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