Можно ли как-то повторно использовать ссылку на Jackson ObjectMapper в моих тестовых классах, когда я тестирую свои службы отдыха с использованием тестовой среды Джерси.
Я зарегистрировал JacksonFeature в своем абстрактном классе, из которого расширяются мои тестовые классы.
public abstract class AbstractRestIntegrationTest extends JerseyTest {
@Override
protected Application configure() {
ResourceConfig resourceConfig = new ResourceConfig(getResourceClass());
resourceConfig.register(JacksonFeature.class);
resourceConfig.register(MultiPartFeature.class);
return resourceConfig;
}
}
EDIT
В моем тестовом классе я позвонил в службу отдыха, которая возвращает мне json.Затем я хочу проанализировать этот JSON по Джексону и проверить, содержит ли он объекты.И мой вопрос, могу ли я повторно использовать этот ObjectMapper в тестовом методе из Джерси, когда я регистрирую JacksonFeature.
public class ManagedElementIntegrationTest extends AbstractRestIntegrationTest {
@Override
protected Class<?> getResourceClass() {
return ManagedElementRestService.class;
}
@Test
public void testGetManagedElementById() throws IOException {
IManagedElementService managedElementService = getBeanOfClass(IManagedElementService.class);
ManagedElement me = prepareManagedElementObject();
try {
when(managedElementService.getUpdatedApplication(anyString())).thenReturn(me);
} catch (ManagedElementNotFoundException e) {
fail("Exception not expected: " + e);
}
String response = target("me/app").request().accept(MediaType.APPLICATION_JSON).get(String.class);
ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree(response);
assertNotNull(actualObj);
assertNotNull(actualObj.get("mapPosition"));
assertNull(actualObj.get("alarms"));
// code continues below.
}
}