Annotation Interface Suite

@Suite marks a class as a test suite on the JUnit Platform.

Selector and filter annotations are used to control the contents of the suite. Additionally configuration can be passed to the suite via the configuration annotations.

When the @IncludeClassNamePatterns annotation is not present, the default include pattern "^(Test.*|.+[.$]Test.*|.*Tests?)$" will be used in order to avoid loading classes unnecessarily (see ClassNameFilter#STANDARD_INCLUDE_PATTERN).

By default a suite discovers tests using the configuration parameters explicitly configured by @ConfigurationParameter and the configuration parameters from the discovery request that discovered the suite. Annotating a suite with @DisableParentConfigurationParameters annotation disables the latter as a source of parameters so that only explicit configuration parameters are taken into account.

See Also:
SelectClasses, SelectClasspathResource, SelectDirectories, SelectFile, SelectModules, SelectPackages, SelectUris, IncludeClassNamePatterns, ExcludeClassNamePatterns, IncludeEngines, ExcludeEngines, IncludePackages, ExcludePackages, IncludeTags, ExcludeTags, SuiteDisplayName, ConfigurationParameter, DisableParentConfigurationParameters, LauncherDiscoveryRequest, org.junit.platform.launcher.LauncherDiscoveryRequestBuilder, Launcher