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
ConstructorsModifierConstructorDescriptionprotectedJacksonTester(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTesterinstance.JacksonTester(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTesterinstance.JacksonTester(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Class<?> view) -
Method Summary
Modifier and TypeMethodDescriptionReturns a new instance ofJacksonTesterwith the view that should be used for json serialization/deserialization.protected JsonContent<T>getJsonContent(String json) Factory method used to get aJsonContentinstance from a source JSON string.static voidinitFields(Object testInstance, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Utility method to initializeJacksonTesterfields.static voidinitFields(Object testInstance, ObjectFactory<com.fasterxml.jackson.databind.ObjectMapper> objectMapperFactory) Utility method to initializeJacksonTesterfields.protected TreadObject(InputStream inputStream, ResolvableType type) Read from the specified input stream to create an object of the specified type.protected TreadObject(Reader reader, ResolvableType type) Read from the specified reader to create an object of the specified type.protected StringwriteObject(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 newJacksonTesterinstance.- Parameters:
objectMapper- the Jackson object mapper
-
JacksonTester
public JacksonTester(Class<?> resourceLoadClass, ResolvableType type, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Create a newJacksonTesterinstance.- 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:AbstractJsonMarshalTesterFactory method used to get aJsonContentinstance from a source JSON string.- Overrides:
getJsonContentin classAbstractJsonMarshalTester<T>- Parameters:
json- the source JSON- Returns:
- a new
JsonContentinstance
-
readObject
Description copied from class:AbstractJsonMarshalTesterRead from the specified input stream to create an object of the specified type. The default implementation delegates toAbstractJsonMarshalTester.readObject(Reader, ResolvableType).- Overrides:
readObjectin 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:AbstractJsonMarshalTesterRead from the specified reader to create an object of the specified type.- Specified by:
readObjectin 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:AbstractJsonMarshalTesterWrite the specified object to a JSON string.- Specified by:
writeObjectin 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 initializeJacksonTesterfields. Seeclass-level documentationfor 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 initializeJacksonTesterfields. Seeclass-level documentationfor example usage.- Parameters:
testInstance- the test instanceobjectMapperFactory- a factory to create the object mapper- See Also:
-
forView
Returns a new instance ofJacksonTesterwith the view that should be used for json serialization/deserialization.- Parameters:
view- the view class- Returns:
- the new instance
-