У меня есть следующий тест, и он работает нормально. Однако, на мой взгляд, это немного излишне. (также требуется некоторое время), чтобы вызвать полный экземпляр spring для проверки некоторой сериализации json.
@RunWith(SpringRunner.class)
@SpringBootTest
public class WirelessSerializationTest {
@Autowired
ObjectMapper objectMapper;
@Test
public void testDateSerialization() throws IOException {
Resource resource = new ClassPathResource("subscription.json");
File file = resource.getFile();
CustomerSubscriptionDto customerSubscriptionDto = objectMapper.readValue(file, CustomerSubscriptionDto.class);
LocalDateTime actualResult = customerSubscriptionDto.getEarliestExpiryDate();
LocalDate expectedDate = LocalDate.of(2018, 10, 13);
LocalTime expectedTime = LocalTime.of( 10, 18, 48);
LocalDateTime expectedResult = LocalDateTime.of(expectedDate,expectedTime);
Assert.assertEquals("serialised date ok", expectedResult, actualResult);
String jsonOutput = objectMapper.writeValueAsString(customerSubscriptionDto);
String expectedExpiryDate = "\"earliestExpiryDate\":\"2018-10-13T10:18:48Z\"";
}
}
Теперь я смог упростить это, удалив SpringRunner. Однако я не загружаю конфигурации пружин Джексона здесь.
public class WirelessSerializationTest {
//@Autowired
ObjectMapper objectMapper = new ObjectMapper();
Так что мой вопрос таков. Могу ли я протестировать и загрузить экземпляр Springs ObjectMapper в тесте, не загружая весь Spring?