作为一个开发,平时开发完成一个接口免不了进行测试。这就需要用到测试数据,少量的数据还可以通过开发手动造。但是如果需要用到大量的批量数据写代码和手动造就很麻烦。如果需要造出来的数据符合实际就很麻烦和复杂。今天就介绍一个造数据的框架Faker, 这个框架可以帮助我们构造出来各式各样的假数据用于测试。同时生产的数据更趋向于真实。Faker有多种实现:python、Java、js等等。下面介绍Java版本的使用
1.引入依赖
Maven依赖:
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>1.0.2</version>
</dependency>
gradle依赖:
dependencies {
implementation 'com.github.javafaker:javafaker:1.0.2'
}
2.使用说明
Faker能生成哪些类型的数据:地址、动物、电子邮件,IP地址等等。同时数据的生成还支持国际化,能生成英文,中文等等类型的数据。
Java使用Locales案例:
//默认Locale.ENGLISH
Faker faker = new Faker();
//其他的本地化
Faker faker = new Faker(new Locale("YOUR_LOCALE"));
YOUR_LOCALE
具体值可以参看文档:https://github.com/DiUS/java-faker 的 Supported Locales 章节。
Java创建数据案例:
Faker faker = new Faker();
//生成域名
faker.internet().domainName();
//生成IP
faker.internet().ipV4Address();
faker.internet().ipV6Address();
//生成密码
faker.internet().password(10, 20, true);
//生成手机号码
faker.phoneNumber().cellPhone()
上面案例只是Faker生成数据的一部分,还可以生成用户名称,地址、以及国家等等相关数据。这些数据都平时开发过程中有用到的。具体还能生成哪些数据可以参照文档:https://github.com/DiUS/java-faker 的 Fakers 章节。这里面列出来能够生成哪些数据,这里面覆盖了大多数需要的数据。
Tips: Java Faker的一个spring boot项目:https://java-faker.herokuapp.com/
3. 总结
总体来说使用起来还是很好用的。在Date的生成需要和现在的JDK进行相对应的升级,只能生成Date类型而不能生LocalDate。
我是蚂蚁背大象,文章对你有帮助点赞关注我,文章有不正确的地方请您斧正留言评论~谢谢!
参考资料:
- https://github.com/DiUS/java-faker
- https://java-faker.herokuapp.com/