Class JacksonTester<T>
java.lang.Object
org.springframework.boot.test.json.AbstractJsonMarshalTester<T>
org.springframework.boot.test.json.JacksonTester<T>
- Type Parameters:
T
- the type under test
AssertJ based JSON tester backed by Jackson. Usually instantiated via
initFields(Object, ObjectMapper)
, for example: public class ExampleObjectJsonTests { private JacksonTester<ExampleObject> json; @Before public void setup() { ObjectMapper objectMapper = new ObjectMapper(); JacksonTester.initFields(this, objectMapper); } @Test public void testWriteJson() throws IOException { ExampleObject object = //... assertThat(json.write(object)).isEqualToJson("expected.json"); } }See
AbstractJsonMarshalTester
for more details.- Since:
- 1.4.0
- Author:
- Phillip Webb, Madhura Bhave, Diego Berrueta
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.boot.test.json.AbstractJsonMarshalTester
AbstractJsonMarshalTester.FieldInitializer<M>
-
Constructor Summary
ModifierConstructorDescriptionprotected
JacksonTester
(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTester
instance.JacksonTester
(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTester
instance.JacksonTester
(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Class<?> view) -
Method Summary
Modifier and TypeMethodDescriptionReturns a new instance ofJacksonTester
with the view that should be used for json serialization/deserialization.protected JsonContent<T>
getJsonContent
(String json) Factory method used to get aJsonContent
instance from a source JSON string.static void
initFields
(Object testInstance, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Utility method to initializeJacksonTester
fields.static void
initFields
(Object testInstance, ObjectFactory<com.fasterxml.jackson.databind.ObjectMapper> objectMapperFactory) Utility method to initializeJacksonTester
fields.protected T
readObject
(InputStream inputStream, ResolvableType type) Read from the specified input stream to create an object of the specified type.protected T
readObject
(Reader reader, ResolvableType type) Read from the specified reader to create an object of the specified type.protected String
writeObject
(T value, ResolvableType type) Write the specified object to a JSON string.Methods inherited from class org.springframework.boot.test.json.AbstractJsonMarshalTester
getResourceLoadClass, getType, initialize, parse, parse, parseObject, parseObject, read, read, read, read, read, readObject, readObject, readObject, readObject, readObject, write
-
Constructor Details
-
JacksonTester
protected JacksonTester(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTester
instance.- Parameters:
objectMapper
- the Jackson object mapper
-
JacksonTester
public JacksonTester(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTester
instance.- Parameters:
resourceLoadClass
- the source class used to load resourcestype
- the type under testobjectMapper
- the Jackson object mapper
-
JacksonTester
public JacksonTester(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Class<?> view)
-
-
Method Details
-
getJsonContent
Description copied from class:AbstractJsonMarshalTester
Factory method used to get aJsonContent
instance from a source JSON string.- Overrides:
getJsonContent
in classAbstractJsonMarshalTester<T>
- Parameters:
json
- the source JSON- Returns:
- a new
JsonContent
instance
-
readObject
Description copied from class:AbstractJsonMarshalTester
Read from the specified input stream to create an object of the specified type. The default implementation delegates toAbstractJsonMarshalTester.readObject(Reader, ResolvableType)
.- Overrides:
readObject
in classAbstractJsonMarshalTester<T>
- Parameters:
inputStream
- the source input stream (nevernull
)type
- the resulting type (nevernull
)- Returns:
- the resulting object
- Throws:
IOException
- on read error
-
readObject
Description copied from class:AbstractJsonMarshalTester
Read from the specified reader to create an object of the specified type.- Specified by:
readObject
in classAbstractJsonMarshalTester<T>
- Parameters:
reader
- the source reader (nevernull
)type
- the resulting type (nevernull
)- Returns:
- the resulting object
- Throws:
IOException
- on read error
-
writeObject
Description copied from class:AbstractJsonMarshalTester
Write the specified object to a JSON string.- Specified by:
writeObject
in classAbstractJsonMarshalTester<T>
- Parameters:
value
- the source value (nevernull
)type
- the resulting type (nevernull
)- Returns:
- the JSON string
- Throws:
IOException
- on write error
-
initFields
public static void initFields(Object testInstance, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Utility method to initializeJacksonTester
fields. Seeclass-level documentation
for example usage.- Parameters:
testInstance
- the test instanceobjectMapper
- the object mapper- See Also:
-
initFields
public static void initFields(Object testInstance, ObjectFactory<com.fasterxml.jackson.databind.ObjectMapper> objectMapperFactory) Utility method to initializeJacksonTester
fields. Seeclass-level documentation
for example usage.- Parameters:
testInstance
- the test instanceobjectMapperFactory
- a factory to create the object mapper- See Also:
-
forView
Returns a new instance ofJacksonTester
with the view that should be used for json serialization/deserialization.- Parameters:
view
- the view class- Returns:
- the new instance
-