批注接口 GraphQlTest
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Inherited
@BootstrapWith(org.springframework.boot.test.autoconfigure.graphql.GraphQlTestContextBootstrapper.class)
@ExtendWith(org.springframework.test.context.junit.jupiter.SpringExtension.class)
@OverrideAutoConfiguration(enabled=false)
@TypeExcludeFilters(GraphQlTypeExcludeFilter.class)
@AutoConfigureCache
@AutoConfigureJson
@AutoConfigureGraphQl
@AutoConfigureGraphQlTester
@ImportAutoConfiguration
public @interface GraphQlTest
Annotation to perform GraphQL tests focusing on GraphQL request execution without a Web
layer, and loading only a subset of the application configuration.
The annotation disables full auto-configuration and instead loads only components relevant to GraphQL tests, including the following:
@Controller
RuntimeWiringConfigurer
@JsonComponent
Converter
GenericConverter
DataFetcherExceptionResolver
Instrumentation
GraphQlSourceBuilderCustomizer
The annotation does not automatically load @Component
, @Service
,
@Repository
, and other beans.
By default, tests annotated with @GraphQlTest
have a
GraphQlTester
configured. For more
fine-grained control of the GraphQlTester, use
@AutoConfigureGraphQlTester
.
Typically @GraphQlTest
is used in combination with
@MockBean
or
@Import
to load any collaborators
and other components required for the tests.
To load your full application configuration instead and test via
HttpGraphQlTester
, consider using
@SpringBootTest
combined
with @AutoConfigureHttpGraphQlTester
.
- 从以下版本开始:
- 2.7.0
- 作者:
- Brian Clozel
- 另请参阅:
-
可选元素概要
可选元素修饰符和类型可选元素说明Class<?>[]
Specifies the controllers to test.Class<?>[]
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
.Class<?>[]
Specifies the controllers to test.
-
元素详细资料
-
properties
String[] propertiesProperties in form key=value that should be added to the SpringEnvironment
before the test runs.- 返回:
- the properties to add
- 默认值:
{}
-
value
Specifies the controllers to test. This is an alias ofcontrollers()
which can be used for brevity if no other attributes are defined. Seecontrollers()
for details.- 返回:
- the controllers to test
- 另请参阅:
- 默认值:
{}
-
controllers
Specifies the controllers to test. May be left blank if all@Controller
beans should be added to the application context.- 返回:
- the controllers to test
- 另请参阅:
- 默认值:
{}
-
useDefaultFilters
boolean useDefaultFiltersDetermines if default filtering should be used with@SpringBootApplication
. By default, only@Controller
(when no explicitcontrollers
are defined),RuntimeWiringConfigurer
,@JsonComponent
,Converter
,GenericConverter
,DataFetcherExceptionResolver
,Instrumentation
andGraphQlSourceBuilderCustomizer
beans are included.- 返回:
- if default filters should be used
- 另请参阅:
- 默认值:
true
-
includeFilters
ComponentScan.Filter[] includeFiltersA set of include filters which can be used to add otherwise filtered beans to the application context.- 返回:
- include filters to apply
- 默认值:
{}
-
excludeFilters
ComponentScan.Filter[] excludeFiltersA set of exclude filters which can be used to filter beans that would otherwise be added to the application context.- 返回:
- exclude filters to apply
- 默认值:
{}
-
excludeAutoConfiguration
@AliasFor(annotation=ImportAutoConfiguration.class, attribute="exclude") Class<?>[] excludeAutoConfigurationAuto-configuration exclusions that should be applied for this test.- 返回:
- auto-configuration exclusions to apply
- 默认值:
{}
-