Требуется написать тесты с использованием restTemplate чтобы протестировать рест-сервисы на спринге.
Можно ли сделать так, чтобы написать общий метод для всех тестов, куда можно будет передавать только параметры, а сама отправляема сущность, например User будет прочитана из файла и, имя и фамилия, будут заполнены из переданных параметров.
К примеру xml-файл
<Users>
<User>
<name>${name}</name>
<surname>${surname}</surname>
</User>
</Users>
Сам метод будет читать этот файл и подставлять на нужные места значения переданных параметров:
private void sendUser(String name, String surname){
// чтение файла
// замена в прочитанной строки параметрами
// Отправка
}
Простейшим способом кажется конечно просто использование String.replaceAll, но есть ли в спринге или junit специальный инструмент?
Все же проще самостоятельно реализовать подстановку в файл. Заведите Map, где ключом будет имя stub-a, в файле добавьте эти stub-ы. Дальше итеративно заполните их в файле, можно через String.replace.
Можно решить при помощи Spring Intergation:1. С помощью file:inbound-channel-adapter получаем XML файлы из каталога
https://docs.spring.io/spring-integration/docs/2.0.0.M3/spring-integration-reference/html/files.html
2.При помощи int-xml:unmarshalling-transformer преобразуем XML в Java объекты
https://docs.spring.io/spring-integration/docs/2.0.0.RC1/reference/html/xml.html
3.Пишем свой ServiceActivator, который будет дёргать REST
https://docs.spring.io/spring-integration/docs/2.0.0.RC1/reference/html/service-activator.html
либо можно для вызова REST можно использовать int-http:outbound-gateway
https://docs.spring.io/spring-integration/archive/1.0.2.RELEASE/reference/html/ch21s03.html
Продвижение своими сайтами как стратегия роста и независимости