Может, я ошибаюсь или что-то совершенно не понимаю.
Я объединил Citrus IntegrationTest из Junit4Runner в Junit5 (с CitrusExtension).
Есть класс EndpointConfiguration
@Configuration
@PropertySource("test-setup.properties")
@PropertySource("service-paths.properties")
public class RestEndpointConfig {
@Value("${testenv.host}") //defined in test-setup.properties
private String host;
...
}
И TestClass
@ExtendWith(CitrusExtension.class)
@RunWith(JUnitPlatform.class)
public class BaseIT{
@CitrusEndpoint
protected HttpClient httpClient;
@Value("${rest.session}") //defined in service-paths.properties
private String sessionPath;
}
В тестовом классе я хочу получить доступ к значениям, определенным в файле service-paths.properties. Это работало с JUnit4, но после изменений в JUnit5 кажется, что свойства больше не доступны в «глобальном» контексте. Изменение уровня журнала на «отладка» показывает, что файл свойств загружен.
Итак, мой вопрос: что мне нужно изменить, чтобы получить доступ к свойствам служебные пути в моих ИТ-классах. Что мне не хватает, что лучше всего делать в этом случае?
Заранее благодарим за любые отзывы.
Разрешение значения свойства с помощью аннотации @Value
- это основная функция фреймворка Spring. Итак, вам нужно добавить SpringExtension в свой тест JUnit5. Вы можете сделать это в дополнение к использованию CitrusExtension.