DataMongoTest перехватчики нагрузки - PullRequest
0 голосов
/ 08 октября 2019

Я получил DataMongoTest, который выполняется нормально, но он не загружает перехватчики, которые настроены

@Configuration
public class EntityInterceptors extends AbstractMongoEventListener<Entity> { ... }

@DataMongoTest
@ExtendWith(SpringExtension.class)
@ActiveProfiles({"default", "test"})
public class MongoTest {

  @Autowired
  private DataRepository repo;
  ... 
}

Хранилище правильно подключено и доступно в тестах. Это не встроенная БД, а внешняя тестовая база данных, которая очищается перед тестами.

Если я выполню это в среде приложения, все перехватчики загрузятся. Но они не загружаются внутри тестового класса. Как я могу добавить класс в контекст выполнения, не используя его как SpringBootTest, где также загружаются все другие ненужные вещи?

1 Ответ

0 голосов
/ 14 октября 2019

DataMongoTest недостаточно для запуска:

@ExtendWith(SpringExtension.class)
// Add Config and all dependent Interceptors
@SpringBootTest(classes = {
    InterceptorConfig.class,
    TopEntityInterceptor.class,
    CascadedEntityInterceptor.class
})
// MONGO INIT
@ImportAutoConfiguration
@AutoConfigurationPackage
@AutoConfigureDataMongo
@ActiveProfiles({"default", "test"})
class InterceptorTest {
  @Autowired TopEnitityRepository repo;
}

Теперь вы можете использовать репо и проверить, выполнили ли перехватчики свою работу после сохранения, и перехватчики также каскадно.

...