= Test Templates

A `{TestTemplate}` method is not a regular test case but rather a template for a test
case. As such, it is designed to be invoked multiple times depending on the number of
invocation contexts returned by the registered providers. Thus, it must be used in
conjunction with a registered `{TestTemplateInvocationContextProvider}` extension. Each
invocation of a test template method behaves like the execution of a regular `@Test`
method with full support for the same lifecycle callbacks and extensions. Please refer to
xref:extensions/providing-invocation-contexts-for-test-templates.adoc[] for usage examples.

NOTE: xref:writing-tests/repeated-tests.adoc[] and
xref:writing-tests/parameterized-classes-and-tests.adoc[Parameterized Tests] are built-in specializations of
test templates.
