Github地址html
在使用Spring Boot Testing工具中提到:java
在测试代码之间尽可能作到配置共用。
...
可以有效利用Spring TestContext Framework的缓存机制,ApplicationContext只会建立一次,后面的测试会直接用已建立的那个,加快测试代码运行速度。git
本章将列举几种共享测试配置的方法github
咱们能够将测试配置放在一个@Configuration里,而后在测试@SpringBootTest或ContextConfiguration中引用它。spring
PlainConfiguration:segmentfault
@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig") public class PlainConfiguration { }
@SpringBootTest(classes = PlainConfiguration.class) public class FooRepositoryIT extends ...
也能够把@Configuration放到一个interface上。工具
@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig") public interface InterfaceConfiguration { }
FooRepositoryIT:code
@SpringBootTest(classes = InterfaceConfiguration.class) public class FooRepositoryIT extends ...
也能够利用Spring的Meta-annotations及自定义机制,提供本身的Annotation用在测试配置上。
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig") public @interface AnnotationConfiguration { }
@SpringBootTest(classes = FooRepositoryIT.class) @AnnotationConfiguration public class FooRepositoryIT extends ...