Utilizar datos de prueba en Java con DataFaker

DataFaker es una biblioteca para Java que permite generar datos de prueba de manera sencilla. Esto puede resultar útil en situaciones donde se necesitan datos para generar tests, alguna demostración o simplemente para llenar una base de datos con datos de prueba, y evitar tener que hacerlo manualmente. Esta biblioteca está basada en Java Faker (aunque esta tiene tiempo sin actualizarse) y posee más de 200 proveedores de datos diferentes, por lo que el tipo de datos que se pueden generar es muy variado.

Instalación

DataFaker se puede instalar utilizando Maven, Gradle o Ivy, para este caso se utilizará Maven, por lo que solo se debe agregar la siguiente dependencia al archivo pom.xml:

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

Enter fullscreen mode Exit fullscreen mode

Uso

Para utilizar DataFaker, se debe crear una instancia de la clase DataFaker y luego se pueden utilizar los métodos de esta clase para generar los datos de prueba.

Faker f = new Faker();

Enter fullscreen mode Exit fullscreen mode

Por ejemplo, si se necesita un nombre y apellido se puede utilizar alguno de los métodos dentro de name():

var name = f.name().firstName();
var lastName = f.name().lastName();
System.out.println("Hello, my name is " + name + " " + lastName);

// Output
Hello, my name is Patsy Heller

Enter fullscreen mode Exit fullscreen mode

Si ejecutamos el código anterior un par de veces, podemos observar que los nombres generados son diferentes y están en un idioma diferente. Para hacer que los datos sean aún más realistas se puede especificar un parámetro Locale dentro del constructor de Faker de alguna de las siguientes maneras:

Faker f = new Faker(Locale.ENGLISH);

Faker f = new Faker(Locale.forLanguageTag("es"));

Faker f = new Faker(Locale.forLanguageTag("es-MX"));

Faker f = new Faker(new Locale("es")); // Esto esta deprecado desde el JDK 19

Enter fullscreen mode Exit fullscreen mode

Utilizando cualquiera de las opciones anteriores los datos generados estarán en el idioma especificado, aunque depende de cada proveedor de datos si lo soporta o no. Para má información sobre los Locales se puede consultar la documentación oficial.

Para realizar un ejemplo más variado consideremos el siguiente record de tipo Person:

public record Person(Integer id, String firstName, String lastName, String username, String address, String job, String favoriteColor) { }

Enter fullscreen mode Exit fullscreen mode

Ahora se puede generar una lista de 10 personas con datos de prueba de la siguiente manera:

Faker f = new Faker(Locale.forLanguageTag("es-MX"));
List<Person> persons = new ArrayList<>();

for (int i = 0; i < 10; i++) {
    persons.add(
            new Person(
                    f.number().numberBetween(1, 1000),
                    f.name().firstName(),
                    f.name().lastName(),
                    f.internet().username(),
                    f.address().fullAddress(),
                    f.job().title(),
                    f.color().name()
            )
    );
}

Enter fullscreen mode Exit fullscreen mode

Finalmente, se puede imprimir la lista de personas generadas:

persons.forEach(System.out::println);

Enter fullscreen mode Exit fullscreen mode

De esta manera se pueden generar datos de prueba de manera sencilla y rápida utilizando DataFaker, para obtener más información sobre los proveedores de datos disponibles se puede consultar la documentación oficial.

原文链接:Utilizar datos de prueba en Java con DataFaker

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容