在编写测试用例时,我们希望产生一些随机数据用来测试,以免每次使用相同数据测试会产生问题,也使效果不够好。
在SpringBoot中可以在配置文件见中配置随机值,用于产生随机的测试数据。
在配置文件中配置随机数据
在SpringBoot的配置文件application.properties中,配置产生随机数据。
以下实例演示产生随机的用户信息。包括用户的id、username、password。
mytest.user.id=${random.int}
mytest.user.username=${random.value}
mytest.user.password=${random.uuid}
使用${}调用随机数据产生的方法。
random.int指产生随机的int类型数据。
random.value产生随机字符串。
random.uuid产生随机的uuid。
除此之外,还有一个random.long产生随机long类型数据。
定义配置类接收随机数据
在test包下创建配置类(只在测试环境中生效,不影响正式环境)。
@ConfigurationProperties("mytest.user")注解配置接收配置文件的随机数据并注入类成员变量中。
配置类需要配置成Spring管理的Bean,因为在测试类中需要自动注入对象。
@Component
@Data
@ConfigurationProperties("mytest.user")
public class MyUser {
private int id;
private String username;
private String password;
}
测试类中使用随机数据
在测试类中,使用@Autowired注解注入包含随机数据的配置类对象。
@SpringBootTest
public class RandomDataTest {
@Test
void testRandom(@Autowired MyUser myUser){
System.out.println(myUser.toString());
}
}
测试
执行测试方法,能看到SpringBoot自动生成的随机数据。