Java基于Javafaker生成测试数据

 更新时间:2020年12月29日 09:42:28   作者:码农小胖哥  
这篇文章主要介绍了Java基于Javafaker生成测试数据的方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下

1. 前言

老板说,明天甲方要来看产品,你得造点数据,而且数据必须是“真”的,演示效果要好看一些,这样他才会买我们的产品,我好明年给你换个嫂子。一般开发接到这种过分要求都不会很乐意去做,这完全是体力劳动,而且很棘手。今天胖哥教你一招,让你做出逼真的“假”数据。

2. javafaker

我们Java是有可以生成仿真数据的框架的,这里我安利一个Javafaker的框架,你只需要在项目中引入:

    <dependency>
      <groupId>com.github.javafaker</groupId>
      <artifactId>javafaker</artifactId>
      <version>1.0.2</version>
    </dependency>

忘记说了它主要的使用场景就是为了制造仿真测试数据,而并不是用来造假。

然后胖哥来演示一下它的用法,先定义一个Java Bean :

/**
 * User info.
 *
 * @author felord.cn
 * @since 10 :50
 */
@Data
public class UserInfo {
 /**
  * 真实姓名
  */
 private String realName;
 /**
  * 手机
  */
 private String cellPhone;
 /**
  * 大学
  */
 private String universityName;
 /**
  * 城市
  */
 private String city;
 /**
  * 地址
  */
 private String street;
}

然后声明一个Faker对象,你可以根据需要进行本地化声明,如果是使用中国的:

Faker fakerWithCN = new Faker(Locale.CHINA);

你要是想造点美帝的数据就改成这样:

Faker fakerWithUS = new Faker(Locale.US);

这里我们使用中国来生成模拟10条仿真数据:

for (int i = 0; i < 10; i++) {

  UserInfo userInfo = new UserInfo();

  userInfo.setRealName(fakerWithCN.name().fullName());
  userInfo.setCellPhone(fakerWithCN.phoneNumber().cellPhone());
  userInfo.setCity(fakerWithCN.address().city());
  userInfo.setStreet(fakerWithCN.address().streetAddress());
  userInfo.setUniversityName(fakerWithCN.university().name());
  System.out.println("userInfo = " + userInfo);

}

我们来看下结果:

是不是看上去跟真的一样,但是一定要用到正途,不要用到歪门邪道上。

3. 总结

用了javafaker之后我们不但可以完成老板提出的需求,而且可以减少我们平常使用测试的时候用各种test填充的局面。好了今天的分享就到这里。我是 码农小胖哥,多多关注,分享更多有用的编程干货。

以上就是Java基于Javafaker生成测试数据的详细内容,更多关于Javafaker生成测试数据的资料请关注脚本之家其它相关文章!

相关文章

  • Java经典面试题汇总:网络编程

    Java经典面试题汇总:网络编程

    本篇总结的是Java 网络编程相关的面试题,后续会持续更新,希望我的分享可以帮助到正在备战面试的实习生或者已经工作的同行,如果发现错误还望大家多多包涵,不吝赐教,谢谢
    2021-07-07
  • 通过springboot+mybatis+druid配置动态数据源

    通过springboot+mybatis+druid配置动态数据源

    这篇文章主要介绍了通过springboot+mybatis+druid配置动态数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • Java 如何使用Velocity引擎生成代码

    Java 如何使用Velocity引擎生成代码

    代码生成器,可以有效减少编写重复代码,快速实现简单的业务逻辑,也能让我们的代码保持一致。那目前,我们看到的代码生成器,大部分是基于velocity引擎模板生成的,接下来我们就学习一下如何实现代码生成器。
    2021-06-06
  • Java中的接口知识汇总

    Java中的接口知识汇总

    本文给大家汇总介绍了在java中的接口知识,包括为什么要使用接口、什么是接口、抽象类和接口的区别、如何定义接口以及定义接口注意点,希望大家能够喜欢
    2016-04-04
  • centos下GitLab+Jenkins持续集成环境搭建(安装jenkins)

    centos下GitLab+Jenkins持续集成环境搭建(安装jenkins)

    这篇文章主要为大家详细介绍了centos下搭建GitLab+Jenkins持续集成环境,安装jenkins的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • SpringBoot微信消息接口配置详解

    SpringBoot微信消息接口配置详解

    这篇文章主要介绍了SpringBoot 微信消息接口配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • java理论基础Stream API终端操作示例解析

    java理论基础Stream API终端操作示例解析

    这篇文章主要为大家介绍了java理论基础Stream API终端操作示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • SpringBoot如何使用内嵌Tomcat问题

    SpringBoot如何使用内嵌Tomcat问题

    这篇文章主要介绍了SpringBoot如何使用内嵌Tomcat问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Javaweb项目启动Tomcat常见的报错解决方案

    Javaweb项目启动Tomcat常见的报错解决方案

    Java Web项目启动Tomcat时可能会遇到各种错误,本文就来介绍一下Javaweb项目启动Tomcat常见的报错解决方案,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Spring Boot 与 Kotlin 使用Redis数据库的配置方法

    Spring Boot 与 Kotlin 使用Redis数据库的配置方法

    Redis是目前业界使用最广泛的内存数据存储。下面通过本文给大家介绍Spring Boot 与 Kotlin 使用Redis数据库的配置方法,感兴趣的朋友一起看看吧
    2018-01-01

最新评论