zoukankan      html  css  js  c++  java
  • Java 一个mock 工具/random

    https://www.baeldung.com/java-easy-random

    <dependency>
        <groupId>org.jeasy</groupId>
        <artifactId>easy-random-core</artifactId>
        <version>4.0.0</version>
    </dependency>
    @Test
    void givenDefaultConfiguration_thenGenerateSingleObject() {
        EasyRandom generator = new EasyRandom();
        Person person = generator.nextObject(Person.class);
    
        assertNotNull(person.getAge());
        assertNotNull(person.getFirstName());
        assertNotNull(person.getLastName());
    }
    @Test
    void givenDefaultConfiguration_thenGenerateObjectsList() {
        EasyRandom generator = new EasyRandom();
        List<Person> persons = generator.objects(Person.class, 5)
            .collect(Collectors.toList());
    
        assertEquals(5, persons.size());
    }
    @Test
    void givenCustomConfiguration_thenGenerateSingleEmployee() {
        EasyRandomParameters parameters = new EasyRandomParameters();
        parameters.stringLengthRange(3, 3);
        parameters.collectionSizeRange(5, 5);
        parameters.excludeField(FieldPredicates.named("lastName").and(FieldPredicates.inClass(Employee.class)));
        parameters.excludeType(TypePredicates.inPackage("not.existing.pkg"));
        parameters.randomize(YearQuarter.class, new YearQuarterRandomizer());
    
        EasyRandom generator = new EasyRandom(parameters);
        Employee employee = generator.nextObject(Employee.class);
    
        assertEquals(3, employee.getFirstName().length());
        assertEquals(5, employee.getCoworkers().size());
        assertEquals(5, employee.getQuarterGrades().size());
        assertNotNull(employee.getDepartment());
    
        assertNull(employee.getLastName());
    
        for (YearQuarter key : employee.getQuarterGrades().keySet()) {
            assertEquals(key.getStartDate(), key.getEndDate().minusMonths(3L));
        }
    }
  • 相关阅读:
    Java文档注释
    Java程序基本框架
    Java文件手动编译执行步骤
    JDK安装中配置Path无效解决办法
    JDK安装配置
    Java简单介绍运行机制
    python代码注释
    python从hello world开始
    python,pycharm,anaconda之间的区别与联系
    python环境配置
  • 原文地址:https://www.cnblogs.com/tekikesyo/p/15410732.html
Copyright © 2011-2022 走看看