Package de.cuioss.test.valueobjects
Class PropertyAwareTest<T>
java.lang.Object
de.cuioss.test.valueobjects.PropertyAwareTest<T>
- Type Parameters:
T
- identifying the type to be tested is usually but not necessarily at leastSerializable
.
- All Implemented Interfaces:
GeneratorRegistry
- Direct Known Subclasses:
ValueObjectTest
@ExtendWith({de.cuioss.test.generator.junit.GeneratorControllerExtension.class,GeneratorRegistryController.class})
public class PropertyAwareTest<T>
extends Object
implements GeneratorRegistry
Base class for dynamically testing properties. It provides the handling of
PropertyMetadata
and TypedGenerator
. In addition it computes
the runtime class of the Generic type T and exposes it accordingly, see
#getTargetBeanClass()
Configuration
The tests can be configured using certain annotations, depending on what you want to achieve:- Properties: The configuration of properties to be tested can be tweaked
in multiple ways, see
de.cuioss.test.valueobjects.api.property
for details TypedGenerator
: seeGeneratorRegistry
for documentation
de.cuioss.test.valueobjects.junit5
- Author:
- Oliver Wolff
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Initializes all contracts, properties and generatorprotected List<PropertyMetadata>
Resolves thePropertyMetadata
by using reflections and the annotationsPropertyConfig
and /PropertyConfigs
if providedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface de.cuioss.test.valueobjects.util.GeneratorRegistry
registerAdditionalGenerators
-
Constructor Details
-
PropertyAwareTest
public PropertyAwareTest()
-
-
Method Details
-
initializePropertiesAndGenerators
Initializes all contracts, properties and generator -
resolvePropertyMetadata
Resolves thePropertyMetadata
by using reflections and the annotationsPropertyConfig
and /PropertyConfigs
if provided- Returns:
- a
SortedSet
ofPropertyMetadata
defining the base line for the configured attributes
-