当前位置: 首页 > news >正文

linux下网站搭建杭州网络设计行业公司

linux下网站搭建,杭州网络设计行业公司,企业怎么做网站,好的网站设计培训学校目录 properties临时属性测试注入 args临时参数测试注入 bean配置类属性注入(Import) SpringBootTest是一个注解,用于测试Spring Boot应用程序。它可用于指示Spring Boot测试应用程序的启动点,并为测试提供一个可用的Spring应用…

目录

properties临时属性测试注入

args临时参数测试注入

bean配置类属性注入(@Import)


@SpringBootTest是一个注解,用于测试Spring Boot应用程序。它可用于指示Spring Boot测试应用程序的启动点,并为测试提供一个可用的Spring应用程序上下文。它还提供了自动配置的功能,可以将依赖注入到测试类中。

properties临时属性测试注入

测试过程本身并不是一个复杂的过程,但是很多情况下测试时需要模拟一些线上情况,或者模拟一些特殊情况。如果当前环境按照线上环境已经设定好了,例如是下面的配置

servers:ip-address: 192.168.0.1port: 2345dataSize: 8

但是你现在想测试对应的兼容性,需要测试如下配置

servers:ip-address: 192.168.0.1port: 2345dataSize: 4

 这个时候我们能不能每次测试的时候都去修改源码application.yml中的配置进行测试呢?显然是不行的。每次测试前改过来,每次测试后改回去,这太麻烦了。我们需要在测试环境中创建一组临时属性,去覆盖我们源码中(application.yml中)设定的属性。

这个时候就可以使用注解@SpringBootTest添加属性来模拟临时属性

//properties属性可以为当前测试用例添加临时的属性配置
@SpringBootTest(properties = {"servers.dataSiz=4"})
public class PropertiesAndArgsTest {@Value("${servers.dataSiz}")private String dataSiz;@Testvoid testProperties(){System.out.println(dataSiz);}
}

args临时参数测试注入

启动springboot程序时,通过命令行参数也可以设置属性值。测试时也可以进行修改属性

//args属性可以为当前测试用例添加临时的命令行参数
@SpringBootTest(args={"--test.prop=testValue2"})
public class PropertiesAndArgsTest {@Value("${test.prop}")private String msg;@Testvoid testProperties(){System.out.println(msg);}
}

args属性配置优先于properties属性配置加载。 

五种配置的优先级的先后顺序为

  • 1 命令行参数 (格式:–key=value)
  • 2 Java系统属性配置 (格式: -Dkey=value)
  • 3 application.properties
  • 4 application.yml
  • 5 application.yaml

bean配置类属性注入(@Import)

一个spring环境中可以设置若干个配置文件或配置类,若干个配置信息可以同时生效。 需求就是在测试环境中再添加一个配置类,然后启动测试环境时,生效此配置就行了。

Import注解在具体的测试中导入临时的配置,例如测试用例,方便测试过程,且上述配置不影响其他的测试类环境  

步骤①:在测试包test中创建专用的测试环境配置类(不要道java目录添加,那样子对源码进行了修改了)

@Configuration
public class MsgConfig {@Beanpublic String msg(){return "bean msg";}
}

步骤②:在启动测试环境时,导入测试环境专用的配置类,使用@Import注解即可实现

@SpringBootTest
@Import({MsgConfig.class})
public class ConfigurationTest {@Autowiredprivate String msg;@Testvoid testConfiguration(){System.out.println(msg);}
}

@Import注解在具体的测试中导入临时的配置,例如测试用例,方便测试过程,且上述配置不影响其他的测试类环境  

@Import注解提供了三种用法

1、@Import一个普通类 spring会将该类加载到spring容器中

2、@Import一个类,该类实现了ImportBeanDefinitionRegistrar接口,在重写的registerBeanDefinitions方法里面,能拿到BeanDefinitionRegistry bd的注册器,能手工往beanDefinitionMap中注册 beanDefinition

3、@Import一个类 该类实现了ImportSelector 重写selectImports方法该方法返回了String[]数组的对象,数组里面的类都会注入到spring容器当中

http://www.yayakq.cn/news/331872/

相关文章:

  • 如何做电影网站挣钱三只松鼠网站开发模板
  • 设计得好的美食网站wordpress 技术网模板
  • 门户网站建设的公司商标网商标注册查询
  • 山东建设网站公司南阳做做网站
  • seo网站快速嵌入式软件开发流程图
  • 巩义做网站网站推广的8种方法
  • 做网站阿里云记录值怎么填装酷网装修平台
  • 网站构建技术建电子商务网站
  • 高职专业建设管理网站济南做网站多少钱
  • 营销网站建设hanyous网站架构包括哪些
  • 如意宝魔方建站小程序注册申请流程图
  • 试客网站建设浙江省建设厅网站
  • 台州市知名专业做网站企业网站备案信息查询系统
  • 网站建设视觉营销游戏云服务器租用
  • 网站建设使用什么软件比较好贸易公司网站设计案例
  • 注册网站电子游戏送钱了38视频链接生成
  • 畅销的网站建设求带商城的wordpress模板
  • 建筑学院网站南宁公司网站建设公司
  • 哪家公司建站的wordpress 系统安装教程 pdf
  • 找别人做网站一定注意什么产品展示型网站
  • 如何做区块链网站台州网站制作推广
  • 高端网站建设专业公司中国建设工程造价信息网站
  • 建设营销型网站模板学习做网站多久
  • 资讯网站模板wordpress的分类目录做成树
  • 网站建设包括哪些技术app营销策略有哪些
  • 湖南汉泰建设有限公司网站网页美工培训
  • 淘宝客网站免费建设电商网站规划与建设方案
  • 小厂建网站如何制作家具网站
  • 惠州3d网站建设全景高端快速建站
  • 快递网站模版海南论坛论坛网站建设