Annotation Interface MybatisTest


@Target(TYPE) @Retention(RUNTIME) @Documented @Inherited @BootstrapWith(org.mybatis.spring.boot.test.autoconfigure.MybatisTestContextBootstrapper.class) @ExtendWith(org.springframework.test.context.junit.jupiter.SpringExtension.class) @OverrideAutoConfiguration(enabled=false) @TypeExcludeFilters(org.mybatis.spring.boot.test.autoconfigure.MybatisTypeExcludeFilter.class) @Transactional @AutoConfigureCache @AutoConfigureMybatis @AutoConfigureTestDatabase @ImportAutoConfiguration public @interface MybatisTest
Annotation that can be used in combination with @RunWith(SpringRunner.class)(JUnit 4) and @ExtendWith(SpringExtension.class)(JUnit 5) for a typical mybatis test. Can be used when a test focuses only on mybatis-based components. Since 2.0.1, If you use this annotation on JUnit 5, @ExtendWith(SpringExtension.class) can omit on your test class.

Using this annotation will disable full auto-configuration and instead apply only configuration relevant to mybatis tests.

By default, tests annotated with @MybatisTest will use an embedded in-memory database (replacing any explicit or usually auto-configured DataSource). The @AutoConfigureTestDatabase annotation can be used to override these settings.

If you are looking to load your full application configuration, but use an embedded database, you should consider @SpringBootTest combined with @AutoConfigureTestDatabase rather than this annotation.

Since:
1.2.1
Author:
wonwoo
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    Auto-configuration exclusions that should be applied for this test.
    org.springframework.context.annotation.ComponentScan.Filter[]
    A set of exclude filters which can be used to filter beans that would otherwise be added to the application context.
    org.springframework.context.annotation.ComponentScan.Filter[]
    A set of include filters which can be used to add otherwise filtered beans to the application context.
    Properties in form key=value that should be added to the Spring Environment before the test runs.
    boolean
    Determines if default filtering should be used with @SpringBootApplication.
  • 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:
      {}
    • useDefaultFilters

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

      org.springframework.context.annotation.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

      org.springframework.context.annotation.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=org.springframework.boot.autoconfigure.ImportAutoConfiguration.class, attribute="exclude") Class<?>[] excludeAutoConfiguration
      Auto-configuration exclusions that should be applied for this test.
      Returns:
      auto-configuration exclusions to apply
      Default:
      {}