Java 中是否存在假数据生成器?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/6362683/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-16 05:19:31  来源:igfitidea点击:

Does a fake data generator exists in Java?

javadata-generation

提问by Rubens Mariuzzo

I would like to know if a fake data generatorexists for Java. In Perl exists Data::Fakerand there's a port to Ruby called faker, for JavaScript faker.js. Someone know about a fake data generatorfor Java, that can provide random names, phone number, P.O. box number, etc...

我想知道是否存在用于 Java的假数据生成器。在 Perl 中存在,Data::Faker并且有一个名为 Ruby 的端口faker,用于 JavaScript faker.js。有人知道Java的假数据生成器,它可以提供随机名称、电话号码、邮政信箱号码等......

采纳答案by Tony the Pony

If you're using Hibernate, try HibernateMock.

如果您使用的是 Hibernate,请尝试HibernateMock

Also:

还:

回答by sgl

http://www.andygibson.net/blog/article/generate-test-data-with-datafactory/How to use:

http://www.andygibson.net/blog/article/generate-test-data-with-datafactory/使用方法:

  1. Add it in your pom.xml

    <dependency>
        <groupId>org.fluttercode.datafactory</groupId>
        <artifactId>datafactory</artifactId>
        <version>0.8</version>
        <type>jar</type>
    </dependency>
    
  2. Test it...

    public class Main {
    
    public static void main(String[] args) {
        DataFactory df = new DataFactory();
        for (int i = 0; i < 100; i++) {          
            String name = df.getFirstName() + " "+ df.getLastName();
            System.out.println(name);
        }
      }
     }
    
  1. 将其添加到您的 pom.xml

    <dependency>
        <groupId>org.fluttercode.datafactory</groupId>
        <artifactId>datafactory</artifactId>
        <version>0.8</version>
        <type>jar</type>
    </dependency>
    
  2. 测试一下...

    public class Main {
    
    public static void main(String[] args) {
        DataFactory df = new DataFactory();
        for (int i = 0; i < 100; i++) {          
            String name = df.getFirstName() + " "+ df.getLastName();
            System.out.println(name);
        }
      }
     }
    

Output :

输出 :

Lindsey Craft
Erica Larsen
Ryan Levine
Erika Smith
Brooklyn Sloan
Karen Mayer
Eddie O'neill
Nancy Stevens

回答by Dmytro Chyzhykov

There is a Java port of the Perl Data::Faker - java-faker

Perl Data::Faker 有一个 Java 端口 - java-faker

回答by MariuszS

Try jFairy. This is new project in early stage.

试试jFairy。这是早期的新项目。

Fairy fairy = Fairy.create();
Person person = fairy.person();

System.out.println(person.fullName());            // Chloe Barker
System.out.println(person.email());               // [email protected]
System.out.println(person.telephoneNumber());     // 690-950-802

Company company = fairy.company();
System.out.println(company.name());          // Robuten Associates
System.out.println(company.url());           // http://www.robuteniaassociates.com

Person salesman = fairy.person(withCompany(company));
System.out.println(salesman.fullName());     // Juan Camacho
System.out.println(salesman.companyEmail()); // [email protected]

PS. I'm a contributor.

附注。我是贡献者。