Dados de teste confiáveis e realistas são essenciais para garantir a qualidade e a funcionalidade dos seus aplicativos. A geração de dados falsos que imitam cenários do mundo real é uma habilidade útil para muitas formas de teste.
MUO VÍDEO DO DIA
ROLE PARA CONTINUAR COM O CONTEÚDO
Não há suporte para geração de dados falsos na biblioteca padrão, mas existem muitos pacotes no ecossistema mais amplo do Go. Um pacote popular para geração de dados falsos é o Gofakeit.
Primeiros passos com Gofakeit

Gofakeit é um pacote para gerar dados falsos em seus programas Go.
Gofakeit oferece recursos abrangentes, incluindo geração aleatória de dados em vários tipos. Ele também oferece opções personalizáveis para aderência a formatos específicos, suporte para localização e geração realista de data e hora.
Execute este comando no diretório de trabalho do seu projeto, depois de inicializar um novo projeto Go, para adicionar Gofakeit como uma dependência de terceiros:
go get github.com/brianvoe/gofakeit/v6
Depois de adicionar Gofakeit como uma dependência, você pode importar o pacote assim:
import (
"github.com/brianvoe/gofakeit/v6"
)
No geral, Gofakeit fornece a maior parte da funcionalidade de um pacote de geração de dados falsos.
Gerando dados falsos básicos com Gofakeit
Gofakeit fornece funcionalidade para gerar diferentes tipos de dados, incluindo nomes, e-mails, telefones, frases comerciais, etc.
Veja como você pode gerar dados falsos básicos com Gofakeit:
package main
import (
“fmt”
“github.com/brianvoe/gofakeit/v6”
)
func main() {
name := gofakeit.Name()
fmt.Println(“Name:”, name)
email := gofakeit.Email()
fmt.Println(“Email:”, email)
phone := gofakeit.Phone()
fmt.Println(“Phone:”, phone)
company := gofakeit.Company()
fmt.Println(“Company:”, company)
creditCard := gofakeit.CreditCardNumber()
fmt.Println(“Credit Card:”, creditCard)
hackerPhrase := gofakeit.HackerPhrase()
fmt.Println(“Hacker Phrase:”, hackerPhrase)
jobTitle := gofakeit.JobTitle()
fmt.Println(“Job Title:”, jobTitle)
currency := gofakeit.CurrencyShort()
fmt.Println(“Currency:”, currency)
}
O principal função gera vários valores falsos com Gofakeit e os imprime no console usando o Imprimir função do pacote fmt.
Gofakeit fornece tags struct para gerar dados falsos para vários campos. Quando você usa essas tags struct, o Gofakeit inicializa seus campos com dados 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}”`
}
func main() {
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)
}
Os campos do Pessoa estrutura todos têm falso tags de estrutura. No principal função, o pessoa variável é uma instância da estrutura Person.
O gofakeit.Estrutura método preenche elementos exportados de uma estrutura com dados aleatórios com base no valor do falso tag dos campos exportados. O principal function então imprime os campos struct no console.

Gerando dados falsos complexos
Você pode gerar dados falsos complexos com Gofakeit, incluindo frases aleatórias, parágrafos e lorem ipsum com o Frase, Parágrafo, e LoremIpsumParagraph funções, respectivamente.
package main
import (
“fmt”
“github.com/brianvoe/gofakeit/v6”
)
func generateRandomSentence() string {
sentence := gofakeit.Sentence(6)
return sentence
}
func generateRandomParagraph() string {
paragraph := gofakeit.Paragraph(3, 4, 8, “/n”)
return paragraph
}
func generateLoremIpsum() string {
loremIpsum := gofakeit.LoremIpsumParagraph(3, 5, 12, “\\n”)
return loremIpsum
}
func main() {
gofakeit.Seed(0)
fmt.Println(“Random Sentence:”)
fmt.Println(generateRandomSentence())
fmt.Println(“\\nRandom Paragraph:”)
fmt.Println(generateRandomParagraph())
fmt.Println(“\\nLorem Ipsum Text:”)
fmt.Println(generateLoremIpsum())
}
O gerarSentençaRandom função gera uma frase aleatória com Gofakeit’s Frase função. O gerarRandomParagraph função gera um parágrafo aleatório com o Parágrafo função.
O gerarLoremIpsum função gera um parágrafo lorem ipsum aleatório com o LoremIpsumParagraph função.
O principal function chama as funções generateRandomSentence, generateRandomParagraph e generateLoremIpsum. O programa imprime as saídas da função no console.
Você pode gerar dados falsos para testar seu banco de dados
Gofakeit simplifica os testes com geração dinâmica de dados para garantir compatibilidade com diversos requisitos.
Você pode usar o pacote banco de dados/sql integrado do Go para preencher seu banco de dados SQL com dados falsos para teste. Isso pode ajudá-lo a testar mais casos extremos e melhorar a segurança do banco de dados.
Perguntas frequentes
P: Como posso usar esses dados de teste falsos?
Você deve escrever testes de unidade e fornecer-lhes dados de teste falsos para verificar se pequenas partes combináveis do seu programa funcionam corretamente.
P: Que outros pacotes de testes o Go oferece?
Go tem excelente suporte integrado por meio de seu pacote de testes. Com ele, você pode avaliar o código, usar fuzzing para variar seus dados de teste e estruturar seus testes em uma hierarquia.
P: Qual é a história por trás de Lorem Ipsum?
Lorem ipsum é um tipo comum de texto de espaço reservado que desenvolvedores e designers costumam usar no lugar de texto real. É útil porque é considerado falso, mas ainda se assemelha a um texto genuíno.