В чем разница
@BootstrapWith
был представлен в Spring 4.1 - Для более старых версий Spring используйте
@ContextConfiguration
s loader
параметр
Они оба являются аннотациями Spring, а не Camel!
как правильно использовать его в модульных тестах
Camel предлагает три различных режима тестирования Spring . Чтобы использовать @UseAdviceWith
, вы должны использовать « Camel Enhanced Spring Test ».
Если вы используете SpringBoot, была проблема с @UseAdviceWith
, которая была исправлена в Camel 2.21 .
JUnit 5 поддерживается в Camel 3.0. Camel 2.x поддерживает JUnit 4 или маркер JUnit 5.
В общем, это очень непонятно, как правильно настроить Camel-Spring-Testing, потому что это зависит от режима тестирования и, по крайней мере, от версий. верблюда, юнит и весна. Если вы добавите SpringBoot, у вас будет другая зависимость.
Однако это рабочая сигнатура тестового класса Route с Camel 2.24, SpringBoot 2.1, Spring 5.1 и JUnit Vintage
@RunWith(CamelSpringBootRunner.class)
@SpringBootTest(
classes = {
[Classes to load for the test]
}
)
@EnableAutoConfiguration
@UseAdviceWith
public class MyTestClass { ... }