Я работаю над структурой агрегации с использованием Spring Boot, которую можно использовать для агрегирования результатов нескольких видов операций ввода-вывода. Кроме того, он поддерживает как неблокирующий (реактивный), так и блокирующий уровень агрегации, который контролируется свойством, которое, в свою очередь, используется для условных bean-компонентов. Для интеграционного тестирования я использовал следующую настройку:
Код: Выделить всё
abstract class HttpUpstreamTests {
// Setup & test logic
}
@SpringBootTest(properties = {
"aggregation.reactive.enabled=false",
})
class BlockingAggregationIT extends HttpUpstreamTests {}
@SpringBootTest(properties = {
"aggregation.reactive.enabled=true",
})
class NonBlockingAggregationIT extends HttpUpstreamTests {}
Теперь мне нужно добавить еще пару базовых классов:
Код: Выделить всё
abstract class MongodbUpstreamTests {
// Setup & test logic
}
abstract class SqlUpstreamTests {
// Setup & test logic
}
Но, конечно, я не могу расширить ИТ-классы из нескольких абстрактных классов. Одним из способов было бы сделать все тесты upstrteam параметризованными тестами, но я не могу найти способ использовать этот подход с разными значениями свойства в @SpringBootTest(properties="aggregation.reactive.enabled=false")< /код>. Есть ли способ использовать разные свойства в качестве параметра для параметризованных тестов?
Подробнее здесь:
https://stackoverflow.com/questions/714 ... -boot-test