只在test测试的文件内进行临时的属性配置, 不影响其他的。
配置临时属性信息方式一:
配置临时属性信息方式二:
两个临时属性的信息都同时存在时,结果为testValue2,因为,在做配置时,命令(args)的优先级比配置文件的优先级高。
配置属性的优先级:
在配置文件中的属性信息不会被测试环境中所写的临时属性信息所覆盖。
例如下所示:
配置文件中的属性信息:
测试环境中临时的属性信息:
说明:配置文件中的信息不会覆盖临时属性信息。
加载测试专用属性:
局部配置导入。只在某些位置添加bean,仅对该范围内起到配置的效果。
加载专用的配置作用:有效降低冲突的问题
案例如下:
步骤一:设置一个类的配置
步骤二:测试专属bean的测试效果
结果:
加载测试专用配置:
查看源码并查看源码的方法:在需要查看的源码后使用ctrl+鼠标左键,进入源码之后,使用ctrl+f12。即可查看源码的方法。
使用@SpringBootTest中的方法web。
注:选择是否开启web。defined_port。默认的服务器端口。也可以检验使用RANDOM_PORT来检验是否把端口进行了不能被重新赋予新端口的测试。
web环境模拟测试:
创建一个controller。一套SpringBoot控制器。使用MVC来作为一个模拟的虚拟调用。
步骤一:开启虚拟调用
步骤二:发起调用,得需要存在一个调用的对象。
创建对象:下面两种方式:
为一个方法注入资源。
方式一:
@Autowired
private MockMvc mvc;
方式二:直接放到参数的位置进行自动装配
void testWeb(@Autowired MockMvc mvc)
不过方式一的范围比方式二的范围大。
步骤三:创建虚拟请求,请求参与访问路径。
步骤四:执行对应的请求。
虚拟请求测试:
拿状态进行对应匹配。 例如:成功:200 失败:404等
执行结果的匹配。拿内容进行对比匹配
因为传递的数据匹配是pojo的实体类json,所以需要采用json匹配。创建一个json。让后进行json匹配。
将表现类的内容进行了匹配处理。
主要测试的目的:在业务测试时,测试的结果不会对数据库的数据进行修改或增加。但是测试也是需要运行成功。
在业务层做测试时,不做数据留痕, 不做垃圾数据保存等。在业务层添加注解@Transactional即可解决该问题。
因为SpringBoot发现这是个测试类所以才不进行提交数据到数据库。
测试用例数据设定:
注:jdbc这个作用很大。在公司中也常用。
pom.xml文件需要进行依赖的设置。
都可以伴随着SpringBoot进行内随启动。 源码都非常小,运行速度块。
启动数据库还需要web服务器环境,所以还得需要创建web的依赖。
注:在H2数据库中创建表的指令和Mysql不一样。
配置文件中进行设置:
注:避免造成安全隐患
本部分讲解不使用数据库来进行数据存储的问题。
解释:
1、给一个名称,这边Redis就会存储一个值。这叫做key-value存储结构。和Mysql相比,Mysql可以进行数据库的概念、表的概念、字的概念以及记录的概念。
2、不是存储到硬盘上,而是内存上进行存储工作。
启动Redis:
步骤一:在文件所在位置进行cmd操作。
步骤二:进入终端输入 redis-cli.exe,显示IP
步骤三:输入shutdown
步骤四:退出exit
步骤五:再次重新开启
步骤一:在进行创建工程时,在选择Nosql下包含Redis插件。
步骤二:配置文件配置信息
步骤三:设置与获取Redis的数据信息
SpringBoot整合Redis步骤:
步骤一:
步骤二:做配置文件的配置
步骤四:
疑问?控制台的redis和在IDEA下的Redis不同步,难道说不是同一个Redis。
事实:两者是同一个Redis。
解决问题:使用StringRedisTemplate的可以将两者进行衔接。使其可以同步。
jedis:传统的Redis客户端。
lettuce:也是一种Redis客户端。
注:系统默认的是lettuce。如果工程项目使用了jedis,需要进行修改改变。步骤如下。
实现更换Redis的客户端步骤:
步骤一:pom.xml中更换依赖或者是添加依赖
步骤二:配置文件中配置客户端
主要存储的数据变化特别快的场景,会数据会发生一点点改变、很快的改变、特别快实时的改变。
步骤一:创建新工程
步骤二:添加依赖pom.xml
步骤三:修改配置文件信息
步骤四:添加对象
SpringBoot整合Mongdb整合步骤:
步骤一:
步骤二:
步骤三: