国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring、Spring Boot和TestNG測(cè)試指南 - @TestPropertySourc

paney129 / 990人閱讀

摘要:地址可以用來覆蓋掉來自于系統(tǒng)環(huán)境變量系統(tǒng)屬性的屬性。同時(shí)優(yōu)先級(jí)高于。利用它我們可以很方便的在測(cè)試代碼里微調(diào)模擬配置比如修改操作系統(tǒng)目錄分隔符數(shù)據(jù)源等。源代碼例子使用工具也可以和一起使用。源代碼見參考文檔

Github地址

@TestPropertySource可以用來覆蓋掉來自于系統(tǒng)環(huán)境變量、Java系統(tǒng)屬性、@PropertySource的屬性。

同時(shí)@TestPropertySource(properties=...)優(yōu)先級(jí)高于@TestPropertySource(locations=...)

利用它我們可以很方便的在測(cè)試代碼里微調(diào)、模擬配置(比如修改操作系統(tǒng)目錄分隔符、數(shù)據(jù)源等)。

例子1: 使用Spring Testing工具

我們先使用@PropertySource將一個(gè)外部properties文件加載進(jìn)來,PropertySourceConfig:

@Configuration
@PropertySource("classpath:me/chanjar/annotation/testps/ex1/property-source.properties")
public class PropertySourceConfig {
}
file: property-source.properties
foo=abc

然后我們用@TestPropertySource覆蓋了這個(gè)property:

@TestPropertySource(properties = { "foo=xyz" ...

最后我們測(cè)試了是否覆蓋成功(結(jié)果是成功的):

@Test
public void testOverridePropertySource() {
  assertEquals(environment.getProperty("foo"), "xyz");
}

同時(shí)我們還對(duì)@TestPropertySource做了一些其他的測(cè)試,具體情況你可以自己觀察。為了方便你觀察@TestPropertySource對(duì)系統(tǒng)環(huán)境變量和Java系統(tǒng)屬性的覆蓋效果,我們?cè)谝婚_始打印出了它們的值。

源代碼TestPropertyTest:

@ContextConfiguration(classes = PropertySourceConfig.class)
@TestPropertySource(
    properties = { "foo=xyz", "bar=uvw", "PATH=aaa", "java.runtime.name=bbb" },
    locations = "classpath:me/chanjar/annotation/testps/ex1/test-property-source.properties"
)
public class TestPropertyTest extends AbstractTestNGSpringContextTests implements EnvironmentAware {

  private Environment environment;

  @Override
  public void setEnvironment(Environment environment) {
    this.environment = environment;
    Map systemEnvironment = ((ConfigurableEnvironment) environment).getSystemEnvironment();
    System.out.println("=== System Environment ===");
    System.out.println(getMapString(systemEnvironment));
    System.out.println();

    System.out.println("=== Java System Properties ===");
    Map systemProperties = ((ConfigurableEnvironment) environment).getSystemProperties();
    System.out.println(getMapString(systemProperties));
  }

  @Test
  public void testOverridePropertySource() {
    assertEquals(environment.getProperty("foo"), "xyz");
  }

  @Test
  public void testOverrideSystemEnvironment() {
    assertEquals(environment.getProperty("PATH"), "aaa");
  }

  @Test
  public void testOverrideJavaSystemProperties() {
    assertEquals(environment.getProperty("java.runtime.name"), "bbb");
  }

  @Test
  public void testInlineTestPropertyOverrideResourceLocationTestProperty() {
    assertEquals(environment.getProperty("bar"), "uvw");
  }

  private String getMapString(Map map) {
    return String.join("
",
        map.keySet().stream().map(k -> k + "=" + map.get(k)).collect(toList())
    );
  }
}
例子2: 使用Spring Boot Testing工具

@TestPropertySource也可以和@SpringBootTest一起使用。

源代碼見TestPropertyTest:

@SpringBootTest(classes = PropertySourceConfig.class)
@TestPropertySource(
    properties = { "foo=xyz", "bar=uvw", "PATH=aaa", "java.runtime.name=bbb" },
    locations = "classpath:me/chanjar/annotation/testps/ex1/test-property-source.properties"
)
public class TestPropertyTest extends AbstractTestNGSpringContextTests implements EnvironmentAware {
  // ... 
}
參考文檔

Spring Framework Testing

Spring Boot Testing

Context configuration with test property sources

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70250.html

相關(guān)文章

  • SpringSpring BootTestNG測(cè)試指南 - 測(cè)試Spring MVC

    摘要:地址提供了,能夠很方便的來測(cè)試。同時(shí)也提供了更進(jìn)一步簡(jiǎn)化了測(cè)試需要的配置工作。本章節(jié)將分別舉例說明在不使用和使用下如何對(duì)進(jìn)行測(cè)試。例子測(cè)試的關(guān)鍵是使用對(duì)象,利用它我們能夠在不需啟動(dòng)容器的情況下測(cè)試的行為。 Github地址 Spring Testing Framework提供了Spring MVC Test Framework,能夠很方便的來測(cè)試Controller。同時(shí)Spring...

    andong777 評(píng)論0 收藏0
  • SpringSpring BootTestNG測(cè)試指南 - @OverrideAutoConfi

    摘要:因?yàn)橹挥羞@樣才能夠在測(cè)試環(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工具里提到: 除了單元測(cè)試(不需要初始化ApplicationContext的測(cè)試)外,盡量將測(cè)試配置和生產(chǎn)配置保持一致。比如如果生產(chǎn)...

    elisa.yang 評(píng)論0 收藏0
  • SpringSpring BootTestNG測(cè)試指南 - @JsonTest

    摘要:地址是提供的方便測(cè)試序列化反序列化的測(cè)試工具,在的文檔中有一些介紹。例子簡(jiǎn)單例子源代碼見使用通包下的文件測(cè)試結(jié)果是否正確或者使用基于的校驗(yàn)例子測(cè)試可以用來測(cè)試。這個(gè)例子里使用了自定義的測(cè)試代碼例子使用事實(shí)上也可以配合一起使用。 Github地址 @JsonTest是Spring Boot提供的方便測(cè)試JSON序列化反序列化的測(cè)試工具,在Spring Boot的文檔中有一些介紹。 需要注...

    Hegel_Gu 評(píng)論0 收藏0
  • SpringSpring BootTestNG測(cè)試指南 - 使用Spring Testing工具

    摘要:源代碼見需要注意的是,如果是專供某個(gè)測(cè)試類使用的話,把它放到外部并不是一個(gè)好主意,因?yàn)樗锌赡軙?huì)被掃描到,從而產(chǎn)生一些奇怪的問題。 Github地址 既然我們現(xiàn)在開發(fā)的是一個(gè)Spring項(xiàng)目,那么肯定會(huì)用到Spring Framework的各種特性,這些特性實(shí)在是太好用了,它能夠大大提高我們的開發(fā)效率。那么自然而然,你會(huì)想在測(cè)試代碼里也能夠利用Spring Framework提供的特...

    Maxiye 評(píng)論0 收藏0
  • SpringSpring BootTestNG測(cè)試指南 - 共享測(cè)試配置

    摘要:地址在使用工具中提到在測(cè)試代碼之間盡量做到配置共用。本章將列舉幾種共享測(cè)試配置的方法我們可以將測(cè)試配置放在一個(gè)里,然后在測(cè)試或中引用它。也可以利用的及自定義機(jī)制,提供自己的用在測(cè)試配置上。 Github地址 在使用Spring Boot Testing工具中提到: 在測(cè)試代碼之間盡量做到配置共用。...能夠有效利用Spring TestContext Framework的緩存機(jī)制,Ap...

    CHENGKANG 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<