Vous aurez souvent besoin de données pour tester votre application avec des valeurs significatives. Utilisez simplement Gofakeit pour le simuler pour vous.

Des données de test fiables et réalistes sont essentielles pour garantir la qualité et la fonctionnalité de vos applications. La génération de fausses données qui imitent des scénarios du monde réel est une compétence utile pour de nombreuses formes de test.

Il n'y a pas de support pour générer de fausses données dans la bibliothèque standard, mais de nombreux packages existent dans l'écosystème plus large de Go. Un package populaire pour la génération de fausses données est Gofakeit.

Premiers pas avec Gofakeit

Gofakeit est un package permettant de générer de fausses données dans vos programmes Go.

Gofakeit offre des fonctionnalités étendues, y compris la génération de données aléatoires sur différents types. Il fournit également des options personnalisables pour le respect de formats spécifiques, la prise en charge de la localisation et des génération de l'heure et de la date.

instagram viewer

Exécutez cette commande dans le répertoire de travail de votre projet, après avoir initialisé un nouveau projet Go, pour ajouter Gofakeit en tant que dépendance tierce :

go get github.com/brianvoe/gofakeit/v6

Après avoir ajouté Gofakeit en tant que dépendance, vous pouvez importer le package comme suit :

import (
"github.com/brianvoe/gofakeit/v6"
)

Dans l'ensemble, Gofakeit fournit la plupart des fonctionnalités d'un package de génération de fausses données.

Générer de fausses données de base avec Gofakeit

Gofakeit fournit des fonctionnalités pour générer différents types de données, notamment des noms, des e-mails, des téléphones, des phrases commerciales, etc.

Voici comment vous pouvez générer de fausses données de base avec Gofakeit :

package main

import (
"fmt"
"github.com/brianvoe/gofakeit/v6"
)

funcmain() {
// Generate a fake name
name := gofakeit.Name()
fmt.Println("Name:", name)

// Generate a fake email address
email := gofakeit.Email()
fmt.Println("Email:", email)

// Generate a fake phone number
phone := gofakeit.Phone()
fmt.Println("Phone:", phone)

// Generate a fake company name
company := gofakeit.Company()
fmt.Println("Company:", company)

// Generate a fake credit card number
creditCard := gofakeit.CreditCardNumber()
fmt.Println("Credit Card:", creditCard)

// Generate a fake hacker phrase
hackerPhrase := gofakeit.HackerPhrase()
fmt.Println("Hacker Phrase:", hackerPhrase)

// Generate a fake job title
jobTitle := gofakeit.JobTitle()
fmt.Println("Job Title:", jobTitle)

// Generate a fake currency abbreviation
currency := gofakeit.CurrencyShort()
fmt.Println("Currency:", currency)
}

Le principal La fonction génère plusieurs fausses valeurs avec Gofakeit et les imprime sur la console à l'aide de la Imprimerln fonction de la paquet fmt.

Gofakeit fournit des balises struct pour générer de fausses données pour divers champs. Lorsque vous utilisez ces balises struct, Gofakeit initialisera leurs champs avec de fausses données.

import (
"fmt"
"time"

"github.com/brianvoe/gofakeit/v6"
)

type Person struct {
ID string`fake:"{uuid}"`
FirstName string`fake:"{firstname}"`
LastName string`fake:"{lastname}"`
Age int`fake:"{number: 18,60}"`
Email string`fake:"{email}"`
Address string`fake:"{address}"`
CreatedAt time.Time `fake:"{date}"`
}

funcmain() {
var person Person

gofakeit.Struct(&person)

fmt.Printf("ID: %s\\n", person.ID)
fmt.Printf("First Name: %s\\n", person.FirstName)
fmt.Printf("Last Name: %s\\n", person.LastName)
fmt.Printf("Age: %d\\n", person.Age)
fmt.Printf("Email: %s\\n", person.Email)
fmt.Printf("Address: %s\\n", person.Address)
fmt.Printf("Created At: %s\\n", person.CreatedAt)
}

Les champs de la Personne struct ont tous faux balises de structure. Dans le principal fonction, la personne variable est une instance de la structure Person.

Le faire semblant. Structure La méthode remplit les éléments exportés d'une structure avec des données aléatoires basées sur la valeur de la faux balise des champs exportés. Le principal La fonction imprime ensuite les champs struct sur la console.

Génération de fausses données complexes

Vous pouvez générer de fausses données complexes avec Gofakeit, y compris des phrases aléatoires, des paragraphes et des lorem ipsum avec le Phrase, Paragraphe, et LoremIpsumParagraphe fonctions, respectivement.

package main

import (
"fmt"

"github.com/brianvoe/gofakeit/v6"
)

funcgenerateRandomSentence()string {
// Generate a random sentence with 6 words
sentence := gofakeit.Sentence(6)
return sentence
}

funcgenerateRandomParagraph()string {
// Generate a random paragraph with 3 sentences, each having 4 to 8 words
paragraph := gofakeit.Paragraph(3, 4, 8, "/n")
return paragraph
}

funcgenerateLoremIpsum()string {
// Generate 2 paragraphs of lorem ipsum text, each having 3 to 5 sentences
loremIpsum := gofakeit.LoremIpsumParagraph(3, 5, 12, "\\n")
return loremIpsum
}

funcmain() {
// Set up the random seed for consistent results (optional)
gofakeit.Seed(0)

// Generate and print random sentence
fmt.Println("Random Sentence:")
fmt.Println(generateRandomSentence())

// Generate and print random paragraph
fmt.Println("\\nRandom Paragraph:")
fmt.Println(generateRandomParagraph())

// Generate and print lorem ipsum text
fmt.Println("\\nLorem Ipsum Text:")
fmt.Println(generateLoremIpsum())
}

Le générerRandomSentence fonction génère une phrase aléatoire avec Gofakeit Phrase fonction. Le générerParagrapheRandom La fonction génère un paragraphe aléatoire avec la Paragraphe fonction.

Le générerLoremIpsum fonction génère un paragraphe lorem ipsum aléatoire avec la LoremIpsumParagraphe fonction.

Le principal La fonction appelle les fonctions generateRandomSentence, generateRandomParagraph et generateLoremIpsum. Le programme imprime les sorties de la fonction sur la console.

Vous pouvez générer de fausses données pour tester votre base de données

Gofakeit simplifie les tests grâce à la génération de données dynamiques pour assurer la compatibilité avec diverses exigences.

Vous pouvez utiliser le package base de données/sql intégré de Go pour remplir votre base de données SQL avec de fausses données à tester. Cela peut vous aider à tester davantage de cas extrêmes et à améliorer la sécurité de la base de données.