Package net.jqwik.api.lifecycle
Interface LifecycleContext
- All Known Subinterfaces:
ContainerLifecycleContext,MethodLifecycleContext,PropertyLifecycleContext,TryLifecycleContext
@API(status=MAINTAINED,
since="1.4.0")
public interface LifecycleContext
Supertype of all lifecycle context interfaces.
-
Method Summary
Modifier and TypeMethodDescription<T extends Annotation>
Optional<T>findAnnotation(Class<T> annotationClass) Retrieve an annotation if present at the current test element.<T extends Annotation>
List<T>findAnnotationsInContainer(Class<T> annotationClass) Retrieve an annotation if present in the current element's containers.<T extends Annotation>
List<T>findRepeatableAnnotations(Class<T> annotationClass) Retrieve a list of repeatable annotations if present at the current test element.label()The elements label under which it shows up in test reports and IDEs.<T> TnewInstance(Class<T> clazz) Create a new instance of aclazzin the context of the property in which it is running.If the context refers to a class or a method the class or the method's class is returned, otherwiseOptional.empty()If the context refers to a class or a method the class or method is returned, otherwiseOptional.empty()reporter()Get hold of test reporter for publishing additional information on a test container or method.resolveParameter(Executable executable, int index) Resolve a parameter from a method in the context of the property in which it is running.voidwrapReporter(Function<Reporter, Reporter> wrapper) Wrap reporter instance
-
Method Details
-
label
String label()The elements label under which it shows up in test reports and IDEs.- Returns:
- a String
-
optionalElement
Optional<AnnotatedElement> optionalElement()If the context refers to a class or a method the class or method is returned, otherwiseOptional.empty()- Returns:
- an optional annotated element
-
optionalContainerClass
If the context refers to a class or a method the class or the method's class is returned, otherwiseOptional.empty()- Returns:
- an optional annotated element
-
reporter
Reporter reporter()Get hold of test reporter for publishing additional information on a test container or method.- Returns:
- Current instance to test reporter
-
wrapReporter
Wrap reporter instance- Parameters:
wrapper- Wrapping function that takes original reporter and returns a wrapped instance
-
findAnnotation
Retrieve an annotation if present at the current test element.- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation type- Returns:
- instance of annotation type
-
findAnnotationsInContainer
Retrieve an annotation if present in the current element's containers. Search up the container stack. Closest container annotations come first in list.- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation type- Returns:
- list of annotation objects
-
findRepeatableAnnotations
@API(status=MAINTAINED, since="1.7.4") <T extends Annotation> List<T> findRepeatableAnnotations(Class<T> annotationClass) Retrieve a list of repeatable annotations if present at the current test element.- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation type- Returns:
- list of annotation objects
-
newInstance
Create a new instance of aclazzin the context of the property in which it is running. Use this method, for example, when trying to instantiate a class retrieved from an annotation's attribute.The behaviour of this method differs from
Class.newInstance()if the class to instantiate is a non-static member of the container class or even a nested container class.- Type Parameters:
T- The type to instantiate- Parameters:
clazz- The class to instantiate- Returns:
- a freshly created instance of class
clazz
-
resolveParameter
Resolve a parameter from a method in the context of the property in which it is running.- Parameters:
executable- The executable of the test container the parameter of which should be resolvedindex- The parameter's position in a method - starting with 0.- Returns:
- supplier instance
- Throws:
CannotResolveParameterException- if parameter cannot be resolved
-