Creare dati fake in Java con Datafaker

Mattepuffo's logo
Creare dati fake in Java con Datafaker

Creare dati fake in Java con Datafaker

Datafaker è una delle tante librerie per Java per la creazione di fake-data da usare nelle nostre applicazioni.

Ha moltissimi provider tra cui scegliere, e i diverse lingue.

Per installarla se usate Maven:

        <dependency>
            <groupId>net.datafaker</groupId>
            <artifactId>datafaker</artifactId>
            <version>1.8.0</version>
        </dependency>

Qui sotto un primo esempio:

import net.datafaker.Faker;

public class Main {
    public static void main(String[] args) {
        Faker faker = new Faker();
        System.out.println(faker.name().fullName());
        System.out.println(faker.naruto().character());
        System.out.println(faker.avatar().image());
        System.out.println(faker.address().fullAddress());
        System.out.println(faker.animal().name());
    }
}

Come vedete abbiamo usato diversi provider; per oguno di essi ci stanno diversi metodi che restituiscono tipi di dati diversi.

Per cambiare lingua:

import net.datafaker.Faker;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        Faker faker = new Faker(Locale.of("it"));
        System.out.println(faker.name().fullName());
        System.out.println(faker.naruto().character());
        System.out.println(faker.avatar().image());
        System.out.println(faker.address().fullAddress());
        System.out.println(faker.animal().name());
    }
}

Possiamo anche generare delle liste di elementi:

import net.datafaker.Faker;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        Faker faker = new Faker();
        List<String> nomi =
                faker.collection(
                                () -> faker.name().firstName(),
                                () -> faker.name().lastName())
                        .len(5, 10)
                        .generate();

        for (String nome : nomi) {
            System.out.println(nome);
        }
    }
}

In len indichiamo il numero di elementi minimo e massimo.

Vi rimando alla documentazione per altri svariati esempi!

Enjoy!


Condividi

Commentami!