A menudo necesitará datos para probar su aplicación con valores significativos. Solo usa Gofakeit para falsificarlo por ti.

Los datos de prueba confiables y realistas son fundamentales para garantizar la calidad y la funcionalidad de sus aplicaciones. Generar datos falsos que imitan escenarios del mundo real es una habilidad útil para muchas formas de prueba.

No hay soporte para generar datos falsos en la biblioteca estándar, pero existen muchos paquetes en el ecosistema más amplio de Go. Un paquete popular para la generación de datos falsos es Gofakeit.

Comenzando con Gofakeit

Gofakeit es un paquete para generar datos falsos en sus programas Go.

Gofakeit ofrece amplias funciones, incluida la generación aleatoria de datos en varios tipos. También proporciona opciones personalizables para adherirse a formatos específicos, soporte para localización y realista. generación de fecha y hora.

Ejecute este comando en el directorio de trabajo de su proyecto, después de haber inicializado un nuevo proyecto Go, para agregar Gofakeit como una dependencia de terceros:

instagram viewer
go get github.com/brianvoe/gofakeit/v6

Después de agregar Gofakeit como dependencia, puede importar el paquete de la siguiente manera:

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

En general, Gofakeit proporciona la mayor parte de la funcionalidad de un paquete de generación de datos falsos.

Generación de datos falsos básicos con Gofakeit

Gofakeit proporciona funcionalidad para generar diferentes tipos de datos, incluidos nombres, correos electrónicos, teléfonos, frases comerciales, etc.

Así es como puede generar datos falsos básicos con 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)
}

El principal La función genera varios valores falsos con Gofakeit y los imprime en la consola usando el Imprimir función de la paquete completo.

Gofakeit proporciona etiquetas de estructura para generar datos falsos para varios campos. Cuando usa estas etiquetas de estructura, Gofakeit inicializará sus campos con datos falsos.

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)
}

los campos de la Persona todas las estructuras tienen falso etiquetas de estructura. En el principal función, la persona variable es una instancia de la estructura Person.

El gofakeit estructura El método rellena los elementos exportados de una estructura con datos aleatorios basados ​​en el valor de la falso etiqueta de campos exportados. El principal Luego, la función imprime los campos de estructura en la consola.

Generación de datos falsos complejos

Puede generar datos falsos complejos con Gofakeit, incluidas oraciones aleatorias, párrafos y lorem ipsum con el Oración, Párrafo, y LoremIpsumPárrafo funciones, respectivamente.

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())
}

El generar una oración aleatoria La función genera una oración aleatoria con Gofakeit Oración función. El generarRandomParagraph genera un párrafo aleatorio con el Párrafo función.

El generarLoremIpsum genera un párrafo aleatorio de lorem ipsum con el LoremIpsumPárrafo función.

El principal llama a las funciones generateRandomSentence, generateRandomParagraph y generateLoremIpsum. El programa imprime las salidas de la función a la consola.

Puede generar datos falsos para probar su base de datos

Gofakeit simplifica las pruebas con la generación dinámica de datos para garantizar la compatibilidad con diversos requisitos.

Puede usar el paquete integrado de base de datos/sql de Go para llenar su base de datos SQL con datos falsos para realizar pruebas. Esto puede ayudarlo a probar más casos extremos y mejorar la seguridad de la base de datos.