StubFactory
StubFactory is used to create temporary mocks for front-end and back-end developers before real models and real data is applied.
The feature of the class is ability to generate different instances of simple or complex types.
Overview
StubFactory takes a Class instance and returns an object which fields are filled with appropriate data.
StubFactory can generate:
- primitives (boolean, short, int and so on)
- string
- list
- map
- complex object e.g. Person (name, age, birthday...)
StubFactory works recursively, so it can generate collections with other nested types e.g. List<Map<List<Integer>, String>> and so on.
Usage
The basic usage of StubFactory:
... StubFactory.produce(new TypeReference<GenericApiResponse<YOUR_CLASS>>(){ }); ...
Just replace 'YOUR_CLASS' with an appropriate DTO (usually *Response or *Request classes)
Usually code above is generated automatically during api generation through JBT (see api-generate) but such behavior can be changed. To turn off stub generation <strong>#TODO end this paragraph</strong>
MockDataGenerator
Overview
Basically, StubFactory generates random appropriate data, but it also is able to generate meaningful data using MockDataGenerator.
Meaningful data provided by MockDataGenerator is listed below:
- name (first name + last name) / last name
- phone number
- address
- date
- datetime
- text (like Lorem Ipsum)
Also, MockDataGenerator supports different locales.
Usage
To use generation of a data above stubData attribute with appropriate value should be specified in XML-file during DTO describing.
For example, to get an instance of Person class with fields fullName and birthday with near-to-real values (such as 'Tim Smith' and '1995-02-12') the XML-file must have the following structure:
To generate DTO java class from specification above see api-generate.
Result
Querying an endpoint with a specified DTO may provide the following response: