我是靠谱客的博主 可耐蜡烛,最近开发中收集的这篇文章主要介绍jmockdata——java单元测试利器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

单元测试时,总需要生成一些测试数据,String、Int、float等,甚至是复杂对象。

<dependency>
    <groupId>com.github.jsonzou</groupId>
    <artifactId>jmockdata</artifactId>
    <version>4.2.0</version>
</dependency>

jmockdata是一个第三方的jar包,我最近使用过一些,感觉还不错。一下列举一些常见用法:

1、基本使用:

String str = JMockData.mock(String.class);
int i = JMockData.mock(int.class);
Integer num = JMockData.mock(Integer.class);
Person p = JMockData.mock(Person.class);

2、特殊使用——泛型:

如果模拟有泛型的类,如List,则写法如下:

List ps = JMockData.mock(new TypeReference(){});
注:这个jar包对于泛型有一定的支持,但有些漏洞,包装类与被包装类的泛型都相同,如Page中T指示成员类,Person中T指示id字段的类型,则Page<Person>在mock时会因为’T’的重复而无法生成模拟数据。

3、排除类中特定字段:

MockConfig config = new MockConfig();
config.excludes(Person.class, "id");// 排除id字段
Person p = JMockData.mock(Person.class, config);

4、为特定字段自定义生成方法:

如,想让生成的所有类,状态字段为’1’、有效,则如下操作,当然Integer也可以是某个具体的POJO类。

MockConfig config = new MockConfig();
final DataConfig statusDC = config.subConfig("status");
config.registerMocker(new IntegerMocker() {
    @Override
    public Integer mock(DataConfig mockConfig) {
        // 修改status字段为固定值
        if (statusDC == mockConfig) {
            return 1;
        }
        return super.mock(mockConfig);
    }
}, Integer.class);
Person p = JMockData.mock(Person.class, config);

最后

以上就是可耐蜡烛为你收集整理的jmockdata——java单元测试利器的全部内容,希望文章能够帮你解决jmockdata——java单元测试利器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部