测试
加载测试专用属性
模拟案例
新建项目
什么都不勾
新建PropertiesAndArgsTest.java
package com.taotao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SuppressWarnings({"all"})
@SpringBootTest
public class PropertiesAndArgsTest {
@Value("${test.prop}")
private String msg;
@Test
void testProperties(){
System.out.println(msg);
}
}
编辑yml
test:
prop: testValue
测试运行
模拟案例(第二种形式)
直接注释yml文件
在springBootTest注解里声明
测试成功
模拟案例(yml和注解都存在)
yml
测试运行
就近原则
模拟案例(args数组参数)
args属性可以为当前测试用例添加临时的命令行参数
编辑PropertiesAndArgsTest
package com.taotao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SuppressWarnings({"all"})
@SpringBootTest(args = {"--test.prop=testValue1"})
public class PropertiesAndArgsTest {
@Value("${test.prop}")
private String msg;
@Test
void testProperties(){
System.out.println(msg);
}
}
模拟案例(args,properties,yml整合)
yml
package com.taotao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SuppressWarnings({"all"})
@SpringBootTest(args = {"--test.prop=testValue2"},
properties = {"test.prop=testValue1"})
public class PropertiesAndArgsTest {
@Value("${test.prop}")
private String msg;
@Test
void testProperties(){
System.out.println(msg);
}
}
测试结果
SpringBootTest注解后面,谁最后加载
小结
|