Annotation Interface AcrossTestConfiguration


Custom annotation that provides most of the attributes that EnableAcrossContext does, but adds some test-related configurations. If no datasources are configured, a test datasource will be used. See the javadoc for TestDataSourceConfigurer for more information.

WARNING: Do not use this annotation when configuring a context with a real-life database. Using this annotation will add configurers that will reset both the across datasource and optional installer datasource before the context is bootstrapped. All tables in the databases will be dropped.

When used in conjunction with AcrossWebAppConfiguration, this configuration will also provide a MockMvc instance initialized with all filters registered by Across modules.

Any class marked with this annotation is also marked with Configuration automatically.

Since:
1.0.0
See Also:
  • Element Details

    • modules

      String[] modules
      Array of AcrossModule names that should be configured if auto configuration is enabled. These will be added to the AcrossContext before any configured module beans and before the AcrossContextConfigurer instances are called.
      Default:
      {}
    • excludeFromScanning

      String[] excludeFromScanning
      Array of AcrossModule names that should never be resolved through scanning, no matter the values of scanForRequiredModules() and scanForOptionalModules().
      Default:
      {}
    • autoConfigure

      boolean autoConfigure
      Configures auto configuration of the AcrossContext. Auto configuration means AcrossModule beans from the parent ApplicationContext will be picked up and class path scanning for modules by names will be supported. The configured context will have a ClassPathScanningModuleDependencyResolver set to resolve the module dependencies as well.

      The ability to disable auto configuration is mainly kept for compatibility reasons.

      Default:
      true
    • scanForRequiredModules

      boolean scanForRequiredModules
      If auto configuration is enabled, should required modules be scanned for? All modules configured using the modules() attribute are considered to be required.
      Default:
      true
    • scanForOptionalModules

      boolean scanForOptionalModules
      If auto configuration is enabled, should optional modules be scanned for?
      Default:
      false
    • modulePackages

      String[] modulePackages
      Set of packages that should be scanned for modules. If empty the standard modules packages as well as the package of the importing class will be used.
      Default:
      {}
    • modulePackageClasses

      Class<?>[] modulePackageClasses
      Type-safe alternative to modulePackages() for specifying the packages to scan for modules. The package of each class specified will be scanned.

      Consider creating a special no-op marker class or interface in each package that serves no purpose other than being referenced by this attribute.

      Default:
      {}
    • moduleConfigurationPackages

      String[] moduleConfigurationPackages
      Set of packages that should be scanned for ModuleConfiguration classes. If empty the sub-packages config and extensions of the importing class will be used.
      Default:
      {}
    • moduleConfigurationPackageClasses

      Class<?>[] moduleConfigurationPackageClasses
      Type-safe alternative to moduleConfigurationPackages() for specifying the packages to scan for ModuleConfiguration classes. The package of each class specified will be scanned.

      Consider creating a special no-op marker class or interface in each package that serves no purpose other than being referenced by this attribute.

      Default:
      {}
    • expose

      @AliasFor(annotation=ExposeForTest.class, attribute="value") Class<?>[] expose
      Specify a collection of types, interfaces or annotations that should be exposed by all modules. Useful if you want to exposed components only for integration test purposes, especially for dynamic application modules which might not have anything exposed otherwise.
      Default:
      {}