Annotation Interface JsonTest
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Inherited
@BootstrapWith(org.springframework.boot.test.autoconfigure.json.JsonTestContextBootstrapper.class)
@ExtendWith(org.springframework.test.context.junit.jupiter.SpringExtension.class)
@OverrideAutoConfiguration(enabled=false)
@TypeExcludeFilters(JsonTypeExcludeFilter.class)
@AutoConfigureCache
@AutoConfigureJsonTesters
@ImportAutoConfiguration
public @interface JsonTest
Annotation for a JSON test that focuses only on JSON serialization.
Using this annotation only enables auto-configuration that is relevant to JSON tests. Similarly, component scanning is limited to beans annotated with:
@JsonComponent
as well as beans that implement:
Module
, if Jackson is available
By default, tests annotated with JsonTest
will also initialize
JacksonTester
, JsonbTester
and GsonTester
fields. More
fine-grained control can be provided through the
@AutoConfigureJsonTesters
annotation.
When using JUnit 4, this annotation should be used in combination with
@RunWith(SpringRunner.class)
.
- Since:
- 1.4.0
- Author:
- Phillip Webb, Artsiom Yudovin
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionClass<?>[]
Auto-configuration exclusions that should be applied for this test.A set of exclude filters which can be used to filter beans that would otherwise be added to the application context.A set of include filters which can be used to add otherwise filtered beans to the application context.String[]
Properties in form key=value that should be added to the SpringEnvironment
before the test runs.boolean
Determines if default filtering should be used with@SpringBootApplication
.
-
Element Details
-
properties
String[] propertiesProperties in form key=value that should be added to the SpringEnvironment
before the test runs.- Returns:
- the properties to add
- Since:
- 2.1.0
- Default:
- {}
-
useDefaultFilters
boolean useDefaultFiltersDetermines if default filtering should be used with@SpringBootApplication
. By default only@JsonComponent
andModule
beans are included.- Returns:
- if default filters should be used
- See Also:
- Default:
- true
-
includeFilters
ComponentScan.Filter[] includeFiltersA set of include filters which can be used to add otherwise filtered beans to the application context.- Returns:
- include filters to apply
- Default:
- {}
-
excludeFilters
ComponentScan.Filter[] excludeFiltersA set of exclude filters which can be used to filter beans that would otherwise be added to the application context.- Returns:
- exclude filters to apply
- Default:
- {}
-
excludeAutoConfiguration
@AliasFor(annotation=ImportAutoConfiguration.class, attribute="exclude") Class<?>[] excludeAutoConfigurationAuto-configuration exclusions that should be applied for this test.- Returns:
- auto-configuration exclusions to apply
- Default:
- {}
-