Проблема преобразования объекта в XML в тесте PactJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема преобразования объекта в XML в тесте Pact

Сообщение Anonymous »

Я работаю над контрактным тестированием с использованием платформы PACT для приложения Springboot с контроллером отдыха. Это вызов GET, и метод помечен
@GetMapping(value = "/", produces = MediaType.APPLICATION_XML_VALUE)
этот метод вызывает метод службы, т.е.
MyObject myObject = service.lookupMessage();
и возвращает
ResponseEntity.ok(myObject)
Из настройки класса моего провайдера я имитирую этот вызов
@MockBean
private MyService mockedService;

var responseXml = Files.readString(Path.of("src/test/resources/mock/full_message.xml"));
MyObject myObj = TestXmlUtils.unmarshalContractSource(responseXml);
RootClass rootClass = new RootClass(myObj.getData1(), new Data2());
when(mockedService.lookupPain001Messages(anyString())).thenReturn(rootClass);

В потребительском тесте я ожидаю, что ответ будет строкой xml, потому что в реальном сценарии Springboot преобразует ответ объекта в xml. Сначала я запускаю потребителя, и он работает успешно. Когда я запускаю поставщика, он не возвращает код состояния 200, который правильный, но тело не соответствует
Проблема в том, что преобразование этого объекта в XML не происходит, потому что мы не в весеннем контексте. Pact обходит контекст и не может выполнить это преобразование, из-за чего контроллер возвращает Object, что правильно, но потребитель ожидает String
Пожалуйста, дайте мне знать, как заставить это работать.< /p>
Изменить: я использую эту версию Pact

au.com.dius.pact.consumer
junit5
4.6.14
test


au.com.dius.pact.provider
junit5
4.6.14
test



Подробнее здесь: https://stackoverflow.com/questions/792 ... -pact-test
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»