1 Star 0 Fork 0

houbb / eunit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 1.92 KB
一键复制 编辑 原始数据 按行查看 历史
kyg 提交于 2018-08-12 15:12 . 1.0.0.RELEASE

EUnit

Easy Unit

依赖

<dependency>
    <groupId>com.github.ofofs</groupId>
    <artifactId>eunit</artifactId>
    <version>${eunit.version}</version>
</dependency>

使用

实体类:

package com.github.ofofs.eunit.test.model;

import com.github.ofofs.eunit.annotation.Rule;


/**
 * @author kangyonggan
 * @since 2018/7/21 0021
 */
public class User {

    private Long id;

    @Rule(minLength = 5, maxLength = 20)
    private String username;

    private String password;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

}

测试类:

package com.github.ofofs.eunit.test;

import com.github.ofofs.eunit.DataFactory;
import com.github.ofofs.eunit.test.model.User;

/**
 * @author kangyonggan
 * @since 2018/7/21 0021
 */
public class UserSimpleTest {

    public static void main(String[] args) {
        User user = DataFactory.instance(User.class);
        System.out.println(user);
    }

}

输出:

User{id=8462870299209684556, username='kolH4D8roMdK2Kpnq', password='Xace7HK'}

规则

在字段上加上@Rule注解,可以指定字段生成规则,目前有下列规则可用:

  • 字符串型:可以指定最小长度minLength、最大长度maxLength和正则表达式regex
  • 数字类型:可以指定最小值min、最大值max和精度precision

说明: 目前只能生成八大基本数据类型和String、Date、BigDecimal。其他引用类型暂时不会生成,后续会考虑。

想法

  1. 提供更多细腻的规则。
  2. 怎么解实体类和规则注解的耦合?
  3. 如何实现多规则?
  4. 规则之间如何依赖?
  5. 如何优雅的自定义规则?

在实现想法的基础上要考虑到用户体验,如果设计的不优雅不好用宁愿不要。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/houbinbin/eunit.git
git@gitee.com:houbinbin/eunit.git
houbinbin
eunit
eunit
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891