前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mock数据 – Java最好用的工具JMockData

Mock数据 – Java最好用的工具JMockData

作者头像
收心
发布2023-01-31 14:32:37
1.5K0
发布2023-01-31 14:32:37
举报
文章被收录于专栏:Java实战博客

本页目录

JMockData Github地址:https://github.com/jsonzou/jmockdata

JMockData使用步骤

添加Maven依赖

代码语言:javascript
复制
        <dependency>
            <groupId>com.github.jsonzou</groupId>
            <artifactId>jmockdata</artifactId>
            <version>4.3.0</version>
            <scope>compile</scope>
        </dependency>

随便弄一个实体类

代码语言:javascript
复制
@Data
public class CommonNameQuantityVO {
    private String communityName;

    private Integer processes;

    private Date date;
}

JMockData构造数据

代码语言:javascript
复制
    public static void main(String[] args) {
        CommonNameQuantityVO mock = JMockData.mock(CommonNameQuantityVO.class);
        System.out.println(mock);
    }

输出测试结果

代码语言:javascript
复制
CommonNameQuantityVO(communityName=aPMCA, processes=2974, date=Fri Dec 24 16:37:38 CST 2060)

JMockData高级进阶

追加2个字段

代码语言:javascript
复制
    private String QQEmail;

    private String zhangsanPhone;

构造Mock数据时添加一个条件约束

代码语言:javascript
复制
    public static void main(String[] args) {
        MockConfig mockConfig = new MockConfig()
                .subConfig("*ate") // 指定字段名(忽略大小写)以ate结尾的数据范围控制
                .doubleRange(80.00, 100.00d) // double BigDecimal
                .floatRange(0.00f, 100.00f) // float
                .dateRange("2023-01-01", "2023-01-02")
                .globalConfig()

                // 手机号生成注意正则支持有限,不支持中文,
                .subConfig(CommonNameQuantityVO.class, "*tel", "*phone")
                .stringRegex("1[3]{1}[0-9]{2}[0-9]{8}")
                .globalConfig()

                // 指定某个对象的邮箱
                .subConfig(CommonNameQuantityVO.class, "QQEmail")
                //.stringRegex("[a-z0-9]{5,15}\\@\\w{3,5}\\.[a-z]{2,3}")
                .stringRegex("[a-z0-9]{5,15}\\@\\w{3,5}\\.com")
                .globalConfig()

                // subConfig返回对象是 DataConfig 需要调用globalConfig()才能继续配置其他字段,如果没指定字段则以全局为准
                .intRange(30, 60) // int范围
                .decimalScale(2); // 保留2位小数点,默认是2位
        CommonNameQuantityVO mock = JMockData.mock(CommonNameQuantityVO.class, mockConfig);
        System.out.println(mock);

测试高级进阶输出

代码语言:javascript
复制
CommonNameQuantityVO(communityName=mDKGSS, processes=30, date=Sun Jan 01 10:38:31 CST 2023, QQEmail=x15d7devedomf@Jd1.com, zhangsanPhone=130975739346)

特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JMockData使用步骤
    • 添加Maven依赖
      • 随便弄一个实体类
        • JMockData构造数据
          • 输出测试结果
          • JMockData高级进阶
            • 追加2个字段
              • 构造Mock数据时添加一个条件约束
                • 测试高级进阶输出
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档