Получение данных из Джексонизированного объекта во время модульного тестаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение данных из Джексонизированного объекта во время модульного теста

Сообщение Anonymous »

Я пытаюсь имитировать вызовы RestServer, но он не генерирует анализируемый JSON:
Простой класс, например:

Код: Выделить всё

@SuperBuilder
@Data
@Setter
@Jacksonized
@JsonIgnoreProperties(ignoreUnknown = true)
Public Class Blurb {
String field1;
String field2;
String field3;
}
Используется в модульном тесте следующим образом:

Код: Выделить всё

Blurb blurb = blurb.builder().build();
System.out.println(blurb);

restServiceServerMock
.expect(manyTimes(), request to("some-url")
.andExpect(header(set a header))
.andExpect(method(HTTPMethod.POST))
.andExpect(content.json("{'field':'value'}"))
.andRespond(withSuccess("%s".formatted(blurb), MediaType.APPLICATION.JSON

somemethodwhichticklestherestservice
но при выполнении модульного теста он падает:

Код: Выделить всё

JSONParseException Unrecognised token 'Blurb' was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false'
Я ожидал, что моя созданная реклама типа Blurb будет содержать красиво отформатированный JSON, например:

Код: Выделить всё

{
"field1" : null,
"field2" : null,
"field3" : null
}
но вместо этого, кажется, он добавляет класс к значениям, как

Код: Выделить всё

System.out.println(blurb)
дает:

Код: Выделить всё

Blurb(field1=null,field2=null,field3=null)
Как убедиться, что мой объект аннотации представляет собой анализируемый JSON? Я думал, что в этом весь смысл такого рода приложений. Обратите внимание: я предполагаю, что нулевые значения вполне подойдут.

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

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

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

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

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

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