春天顶部

通过参考,使用Spring 5和Spring Boot 2开始学习春天课程:

>>学习春天

1.概述

Spring带来了许多功能,以帮助我们测试我们的代码。有时我们需要使用特定的配置属性才能在测试用例中设置所需的方案。

在这些情况下,我们可以利用@testpropertysource.注解。使用此工具,我们可以定义具有比项目中使用的任何其他源更高优先级的配置源。

因此,在此简短的教程中,我们将看到我们使用此注释的示例。此外,我们将分析其默认行为和它支持的主要属性。

要了解更多关于在春靴中测试的金宝搏官网188be信息,我们建议看看我们的'在春季启动方面进行测试教程

2.依赖性

在我们项目中包含所有所需库的最简单方法是通过添加春季启动 - 起动器 - 试验在我们的文物中pom.xml.文件:

<依赖>  org.springframework.boot   Spring-Boot-Starter-test   test   2.0.5.release  

我们可以检查Maven Central以验证我们使用的最新版本初学者库

3.如何使用@testpropertysource.

让我们想象我们通过使用它注入它来使用属性的值@价值Spring Annotation:

@Component公共类ClassusingProperty {@Value(“$ {baeldung.te金宝搏188体育stpropertysource.one}”)私有字符串属性;public string pretizepropertyone(){return propertyone;}}

然后我们将使用@testpropertysource.类级注释来定义新配置源并覆盖该属性的值:

@runwith(springrunner.class)@contextconfiguration(classes = classusingproperty.class)@testpropertysource公共类defaulttest {@autowired classusingproperty classusingproperty;@test public void givendefaulttps_whenvariableretrious_thendefaultfilereturned(){string output = classusingproperty.retrievePropertyone();assertthat(产出).isequalto(“默认值”);}}

通常,每当我们使用此测试注释时,我们还将包括@contextConfiguration.一个以便加载和配置ApplicationContext.对于场景。

默认情况下,@testpropertysource.注释试图加载a属性文件相对于声明注释的类。

在这种情况下,例如,如果我们的测试类是com.金宝搏188体育baeldung.testpropertysource.包,那么我们需要文件com 金宝搏188体育/ baeldung / testpropertysource / defaulttest.properties在我们的比赛路径中。

让我们将其添加到我们的资源文件夹中:

#defaulttest.properties b金宝搏188体育aeldung.testpropertysource.one =默认值

此外,我们可以更改默认配置文件位置,或者添加额外的属性,以更高的优先级:

@testpropertysource(locations =“/ tother-location.properties”,properties =“b金宝搏188体育aeldung.testpropertysource.one =其他属性 - 值”)

最后,我们可以指定我们是否想要继承地点属性来自超类的值与否。因此,我们可以肘击继承继承属性,即真的默认。

4。结论

通过这个简单的例子,我们已经学会了如何使用@testpropertysource.弹簧注释有效。

我们可以找到不同方案的示例我们的github存储库

春天底

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>课程
评论在本文上关闭!