Annotation Interface RestClientTest


Annotation for a Spring rest client test that focuses only on beans that use RestTemplateBuilder or RestClient.Builder.

Using this annotation will disable full auto-configuration and instead apply only configuration relevant to rest client tests (i.e. Jackson or GSON auto-configuration and @JsonComponent beans, but not regular @Component beans).

By default, tests annotated with RestClientTest will also auto-configure a MockRestServiceServer. For more fine-grained control the @AutoConfigureMockRestServiceServer annotation can be used.

If you are testing a bean that doesn't use RestTemplateBuilder but instead injects a RestTemplate directly, you can add @AutoConfigureWebClient(registerRestTemplate=true).

When using JUnit 4, this annotation should be used in combination with @RunWith(SpringRunner.class).

Since:
1.4.0
Author:
Stephane Nicoll, Phillip Webb, Artsiom Yudovin
  • Element Details

    • properties

      String[] properties
      Properties in form key=value that should be added to the Spring Environment before the test runs.
      Returns:
      the properties to add
      Since:
      2.1.0
      Default:
      {}
    • value

      @AliasFor("components") Class<?>[] value
      Specifies the components to test. This is an alias of components() which can be used for brevity if no other attributes are defined. See components() for details.
      Returns:
      the components to test
      See Also:
      Default:
      {}
    • components

      @AliasFor("value") Class<?>[] components
      Specifies the components to test. May be left blank if components will be manually imported or created directly.
      Returns:
      the components to test
      See Also:
      Default:
      {}
    • useDefaultFilters

      boolean useDefaultFilters
      Determines if default filtering should be used with @SpringBootApplication. By default only @JsonComponent and Module beans are included.
      Returns:
      if default filters should be used
      See Also:
      Default:
      true
    • includeFilters

      ComponentScan.Filter[] includeFilters
      A 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[] excludeFilters
      A 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<?>[] excludeAutoConfiguration
      Auto-configuration exclusions that should be applied for this test.
      Returns:
      auto-configuration exclusions to apply
      Default:
      {}