Générer des données factices pour divers tests avec Faker (java)

introduction

Faker est une bibliothèque qui peut être utilisée pour créer des données de test telles que le nom et l'adresse. Il existe des bibliothèques dans différents langages, et le "Java Faker" suivant semble être célèbre en Java.

Java Faker https://github.com/DiUS/java-faker

Ajoutez d'abord la bibliothèque

Pour Maven, ajoutez la dépendance de bibliothèque comme suit.

pom.xml


<dependency>
    <groupId>com.github.javafaker</groupId>
    <artifactId>javafaker</artifactId>
    <version>0.15</version>
</dependency>

Essayez de générer des données factices

C'est facile à utiliser, et si vous écrivez le code suivant,

	private void dummy() {
		Faker faker = new Faker(new Locale("ja_JP"));

		System.out.println(faker.name().fullName());
		System.out.println(faker.name().firstName());
		System.out.println(faker.name().lastName());
		System.out.println(faker.address().zipCode());
		System.out.println(String.join(faker.address().state(), faker.address().city(), faker.address().cityName()));
	}

Les données factices sont générées comme suit.

Makoto Takeuchi
Aimi
Aller à
213-0541
Yoko-gun, Haramachi, préfecture de Saitama

Vous pouvez également obtenir l'adresse avec faker.address (). FullAddress (), Ce n'est pas bon car l'ordre est émis en sens inverse comme "345 Future Terrace, Yamato City, 32 894-1403".

Vous pouvez également générer diverses autres données telles que des adresses e-mail, des noms de fichiers, des URL, des couleurs et des livres.

Essayez de spécifier le format

Vous pouvez également générer des données factices en spécifiant le format comme indiqué ci-dessous. Nous avons généré 10 adresses e-mail pour gmail.com.

	private void dummy2() {
		FakeValuesService fakeValuesService = new FakeValuesService(
			      new Locale("ja_JP"), new RandomService());
		IntStream.range(0, 10).forEach(i -> System.out.println(fakeValuesService.bothify("??####@gmail.com"))); // ?Est un caractère alphabétique,#Est un nombre
	}

Résultat d'exécution

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Générer un nombre aléatoire

Pour générer un nombre à 10 chiffres, écrivez comme suit.

faker.number().randomNumber(10, true)

Ci-dessous, le code et le résultat de l'exécution

	private void dummy3() {
		Faker faker = new Faker(new Locale("ja_JP"));

		IntStream.range(0, 10).forEach(i -> System.out.println(faker.number().randomNumber(10, true)));
	}
1324687562263
3958356750281
8654092665509
4641056803394
1610358318650
1541823905182
1182616958335
7453193108824
7835740448808
9378928785264

Générer des phrases

Générez des phrases de 5 mots. J'ai changé Locale en jp, mais le japonais n'a pas été généré.

faker.lorem().sentence(5)

	private void dummy4() {
		Faker faker = new Faker(new Locale("ja_JP"));
		IntStream.range(0, 10).forEach(i -> System.out.println(faker.lorem().sentence(5)));
	}
Sunt saepe fugiat sunt eum perferendis quia placeat voluptas similique.
Explicabo repellendus qui praesentium fugiat harum excepturi qui.
Architecto ea aliquid debitis in.
Omnis labore aut ut laudantium minima labore ut.
Facilis velit eum repudiandae sint commodi.
Consequatur voluptatem commodi incidunt consequuntur.
Iure exercitationem nihil optio laudantium provident aut.
Cumque earum hic eligendi cumque id quia quasi laborum rem.
Ut provident et corrupti sed dignissimos.
Facilis odit illo id et aliquam.

Générer des phrases en spécifiant le nombre de caractères

Générez une phrase de 500 caractères.

faker.lorem().fixedString(500)

	private void dummy5() {
		Faker faker = new Faker(new Locale("ja_JP"));
		System.out.println(faker.lorem().fixedString(500));
	}
Sint soluta dolorum eos est vero quam.Earum consectetur qui corrupti.Similique fugit rerum velit et repellat corrupti facere.Et inventore commodi fugit.Aperiam dolorem laudantium.Quis ut consequatur qui facilis aliquam.Hic a vitae omnis quia sint id.Atque est in voluptatum quidem ut.Dolore dolor ex dolor fugiat.Error est et quae quia sit dolores voluptatem.Nihil tempora nobis illo.Et dolorem voluptatem laboriosam consequuntur.Repellat at recusandae amet voluptas quam consequatur est.Fuga eveniet

Générer avec une expression régulière.

Générer avec une expression régulière.

fakeValuesService.regexify("[12]\d{3}/(0?[1-9]|1[0-2])/([12][0-9]|3[01]|0?[1-9])")

	private void dummy6() {
	    FakeValuesService fakeValuesService = new FakeValuesService(
	    	      new Locale("ja_JP"), new RandomService());
	    System.out.println(fakeValuesService.regexify("[12]\\d{3}/(0?[1-9]|1[0-2])/([12][0-9]|3[01]|0?[1-9])"));
	}
1147/5/30

Recommended Posts

Générer des données factices pour divers tests avec Faker (java)
Créez des données factices pour le portefeuille avec Faker [Note]
Différents tests de méthode avec MockRestServiceServer
Java pour les débutants, masquage des données
Java Learning 1 (apprendre divers types de données)
Test unitaire Java avec Mockito
[Rails] Préparez les données factices à utiliser pour les tests [Faker]
Activez OpenCV avec java8. (Pour moi-même)
Premiers pas avec Ruby pour les ingénieurs Java
Apprenez de «Et alors», les bases de Java [pour les débutants]
Conseils d'interopérabilité avec Kotlin à envoyer aux développeurs Java
Écrire des tests pour les applications JavaFX avec TestFX
[Java] Comment tester s'il est nul dans JUnit
Liens et mémos pour démarrer avec Java (pour moi-même)
Demandez n jours ouvrables plus tard avec JAVA
Opérations de conteneur Docker avec l'API Docker-Client pour Java
Générer du code client Java pour l'API SOAP de SalesForce