• 自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程


    项目简介

    Data-Factory 用于根据对象,随机自动生成初始化信息,避免了手动创建对象的繁琐,便于测试。

    特性

    • 8 大基本类型的支持

    • String、Date、金额,日期等常见类型的支持

    • java8 常见时间类的支持

    • 支持 String 和 Number 类型的注解定义

    • 添加 @DataFactory 注解支持

    • 支持 Regex 正则表达式

    变更日志

    变更日志

    核心类讲解

    DataUtil 工具类

    提供线程安全的方法:

    /**
     * 构建结果
     * @param clazz 类型
     * @return 构建结果
     */
    public static <T> T build(final Class<T> clazz) {
        IData data = getInstance();
        return (T) data.build(null, clazz);
    }
    
    /**
     * 构建结果
     * @param context 执行上下文
     * @param clazz 类型
     * @return 构建结果
     */
    public static <T> T build(final IContext context, final Class<T> clazz) {
        IData data = getInstance();
        return (T) data.build(context, clazz);
    }
    

    快速开始

    准备工作

    JDK 1.8+

    Maven 3.0+

    如果是 idea,测试的时候 Enable Annotation Processing

    maven 引入

    <dependency>
        <groupId>com.github.houbb</groupId>
        <artifactId>data-factory-core</artifactId>
        <version>0.0.3</version>
    </dependency>
    

    演示对象

    一个用于演示的普通 java 对象。

    public class User {
    
        private String name;
    
        private int age;
    
        private Date birthday;
    
        private List<String> stringList;
    
        //S/F 的枚举
        private StatusEnum statusEnum;
    
        private Map<String, String> map;
        
        //Getter & Setter
    }
    

    使用工具类

    @Test
    public void buildBeanBaseTest() throws Exception {
        User user = DataUtil.build(User.class);
        System.out.println(user);
    }
    

    输出信息如下:

    User{name='wZ8CJZtK', age=-564106861, birthday=Wed Feb 27 22:14:34 CST 2019, stringList=[Du4iJkQj], statusEnum=S, map={yA5yDqM=Kdzi}}
    

    内容每次都随机。便于基本的测试数据填充。

    拓展阅读

    DataFactory-01-注解支持

    DataFactory-02-正则表达式支持

  • 相关阅读:
    配置JAVA环境
    Sun Java认证
    JAVA中去掉空格
    2011年百度新闻热搜榜十大互联网人物
    23 设计模式
    HTML编辑器FCKeditor使用详解 [转]
    Linux 系统目录结构
    DotNet程序员是不是最不幸福?
    VS2005(c#)项目调试问题解决方案集锦 转
    详细介绍有关于.NET的委托
  • 原文地址:https://www.cnblogs.com/houbbBlogs/p/10520107.html
Copyright © 2020-2023  润新知