摘要:地址在使用工具中提到在測試代碼之間盡量做到配置共用。本章將列舉幾種共享測試配置的方法我們可以將測試配置放在一個(gè)里,然后在測試或中引用它。也可以利用的及自定義機(jī)制,提供自己的用在測試配置上。
Github地址
在使用Spring Boot Testing工具中提到:
在測試代碼之間盡量做到配置共用。
...
能夠有效利用Spring TestContext Framework的緩存機(jī)制,ApplicationContext只會(huì)創(chuàng)建一次,后面的測試會(huì)直接用已創(chuàng)建的那個(gè),加快測試代碼運(yùn)行速度。
本章將列舉幾種共享測試配置的方法
@Configuration我們可以將測試配置放在一個(gè)@Configuration里,然后在測試@SpringBootTest或ContextConfiguration中引用它。
PlainConfiguration:
@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig") public class PlainConfiguration { }
FooRepositoryIT:
@SpringBootTest(classes = PlainConfiguration.class) public class FooRepositoryIT extends ...@Configuration on interface
也可以把@Configuration放到一個(gè)interface上。
PlainConfiguration:
@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig") public interface InterfaceConfiguration { }
FooRepositoryIT:
@SpringBootTest(classes = InterfaceConfiguration.class) public class FooRepositoryIT extends ...Annotation
也可以利用Spring的Meta-annotations及自定義機(jī)制,提供自己的Annotation用在測試配置上。
PlainConfiguration:
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig") public @interface AnnotationConfiguration { }
FooRepositoryIT:
@SpringBootTest(classes = FooRepositoryIT.class) @AnnotationConfiguration public class FooRepositoryIT extends ...參考文檔
Meta-annotations
Meta-Annotation Support for Testing
Spring Annotation Programming Model
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70340.html
Github地址 在Spring引入Java Config機(jī)制之后,我們會(huì)越來越多的使用@Configuration來注冊(cè)Bean,并且Spring Boot更廣泛地使用了這一機(jī)制,其提供的大量Auto Configuration大大簡化了配置工作。那么問題來了,如何確保@Configuration和Auto Configuration按照預(yù)期運(yùn)行呢,是否正確地注冊(cè)了Bean呢?本章舉例測試@Co...
摘要:因?yàn)橹挥羞@樣才能夠在測試環(huán)境下發(fā)現(xiàn)生產(chǎn)環(huán)境的問題,也避免出現(xiàn)一些因?yàn)榕渲貌煌瑢?dǎo)致的奇怪問題。而方法則能夠不改變?cè)信渲貌惶峁┬碌呐渲玫那闆r下,就能夠關(guān)閉。 Github地址 在Chapter 1: 基本用法 - 使用Spring Boot Testing工具里提到: 除了單元測試(不需要初始化ApplicationContext的測試)外,盡量將測試配置和生產(chǎn)配置保持一致。比如如果生產(chǎn)...
摘要:地址前面一個(gè)部分講解了如何使用工具來測試項(xiàng)目,現(xiàn)在我們講解如何使用工具來測試項(xiàng)目。所以我們可以利用這個(gè)特性來進(jìn)一步簡化測試代碼。因?yàn)橹挥羞@樣才能夠在測試環(huán)境下發(fā)現(xiàn)生產(chǎn)環(huán)境的問題,也避免出現(xiàn)一些因?yàn)榕渲貌煌瑢?dǎo)致的奇怪問題。 Github地址 前面一個(gè)部分講解了如何使用Spring Testing工具來測試Spring項(xiàng)目,現(xiàn)在我們講解如何使用Spring Boot Testing工具來測...
摘要:地址提供了,能夠很方便的來測試。同時(shí)也提供了更進(jìn)一步簡化了測試需要的配置工作。本章節(jié)將分別舉例說明在不使用和使用下如何對(duì)進(jìn)行測試。例子測試的關(guān)鍵是使用對(duì)象,利用它我們能夠在不需啟動(dòng)容器的情況下測試的行為。 Github地址 Spring Testing Framework提供了Spring MVC Test Framework,能夠很方便的來測試Controller。同時(shí)Spring...
摘要:地址是提供的方便測試序列化反序列化的測試工具,在的文檔中有一些介紹。例子簡單例子源代碼見使用通包下的文件測試結(jié)果是否正確或者使用基于的校驗(yàn)例子測試可以用來測試。這個(gè)例子里使用了自定義的測試代碼例子使用事實(shí)上也可以配合一起使用。 Github地址 @JsonTest是Spring Boot提供的方便測試JSON序列化反序列化的測試工具,在Spring Boot的文檔中有一些介紹。 需要注...
閱讀 958·2021-09-26 09:55
閱讀 3220·2021-09-22 15:36
閱讀 3000·2021-09-04 16:48
閱讀 3155·2021-09-01 11:41
閱讀 2608·2019-08-30 13:49
閱讀 1504·2019-08-29 18:46
閱讀 3559·2019-08-29 17:28
閱讀 3446·2019-08-29 14:11