Class GsonTester<T>
- java.lang.Object
- org.springframework.boot.test.json.AbstractJsonMarshalTester<T>
- org.springframework.boot.test.json.GsonTester<T>
- Type Parameters:
T
- the type under test
public class GsonTester<T> extends AbstractJsonMarshalTester<T>
AssertJ based JSON tester backed by Gson. Usually instantiated viainitFields(Object, Gson)
, for example:public class ExampleObjectJsonTests { private GsonTester<ExampleObject> json; @Before public void setup() { Gson gson = new GsonBuilder().create(); GsonTester.initFields(this, gson); } @Test public void testWriteJson() throws IOException { ExampleObject object = //... assertThat(json.write(object)).isEqualToJson("expected.json"); } }
SeeAbstractJsonMarshalTester
for more details.- Since:
- 1.4.0
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.boot.test.json.AbstractJsonMarshalTester
AbstractJsonMarshalTester.FieldInitializer<M>
Constructor Summary
Constructors Modifier Constructor Description protected
GsonTester(com.google.gson.Gson gson)
Create a new uninitializedGsonTester
instance.GsonTester(Class<?> resourceLoadClass, org.springframework.core.ResolvableType type, com.google.gson.Gson gson)
Create a newGsonTester
instance.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
initFields(Object testInstance, com.google.gson.Gson gson)
Utility method to initializeGsonTester
fields.static void
initFields(Object testInstance, org.springframework.beans.factory.ObjectFactory<com.google.gson.Gson> gson)
Utility method to initializeGsonTester
fields.protected T
readObject(Reader reader, org.springframework.core.ResolvableType type)
Read from the specified reader to create an object of the specified type.protected String
writeObject(T value, org.springframework.core.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, readObject, write
Constructor Detail
GsonTester
protected GsonTester(com.google.gson.Gson gson)
Create a new uninitializedGsonTester
instance.- Parameters:
gson
- the Gson instance
GsonTester
public GsonTester(Class<?> resourceLoadClass, org.springframework.core.ResolvableType type, com.google.gson.Gson gson)
Create a newGsonTester
instance.- Parameters:
resourceLoadClass
- the source class used to load resourcestype
- the type under testgson
- the Gson instance- See Also:
initFields(Object, Gson)
Method Detail
writeObject
protected String writeObject(T value, org.springframework.core.ResolvableType type) throws IOException
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
readObject
protected T readObject(Reader reader, org.springframework.core.ResolvableType type) throws IOException
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
initFields
public static void initFields(Object testInstance, com.google.gson.Gson gson)
Utility method to initializeGsonTester
fields. Seeclass-level documentation
for example usage.- Parameters:
testInstance
- the test instancegson
- the Gson instance
initFields
public static void initFields(Object testInstance, org.springframework.beans.factory.ObjectFactory<com.google.gson.Gson> gson)
Utility method to initializeGsonTester
fields. Seeclass-level documentation
for example usage.- Parameters:
testInstance
- the test instancegson
- an object factory to create the Gson instance