Anda akan sering membutuhkan data untuk menguji aplikasi Anda dengan nilai yang bermakna. Cukup gunakan Gofakeit untuk memalsukannya untuk Anda.
Data pengujian yang andal dan realistis sangat penting dalam memastikan kualitas dan fungsionalitas aplikasi Anda. Menghasilkan data palsu yang meniru skenario dunia nyata adalah keterampilan yang berguna untuk berbagai bentuk pengujian.
Tidak ada dukungan untuk menghasilkan data palsu di perpustakaan standar, tetapi banyak paket ada di ekosistem Go yang lebih luas. Salah satu paket populer untuk pembuatan data palsu adalah Gofakeit.
Memulai Dengan Gofakeit
Gofakeit adalah paket untuk menghasilkan data palsu di program Go Anda.
Gofakeit menawarkan fitur yang luas, termasuk pembuatan data acak di berbagai jenis. Ini juga menyediakan opsi yang dapat disesuaikan untuk kepatuhan pada format tertentu, dukungan untuk pelokalan, dan realistis generasi waktu dan tanggal.
Jalankan perintah ini di direktori kerja proyek Anda, setelah Anda menginisialisasi proyek Go baru, untuk menambahkan Gofakeit sebagai dependensi pihak ketiga:
go get github.com/brianvoe/gofakeit/v6
Setelah menambahkan Gofakeit sebagai dependensi, Anda dapat mengimpor paket sebagai berikut:
import (
"github.com/brianvoe/gofakeit/v6"
)
Secara keseluruhan, Gofakeit menyediakan sebagian besar fungsionalitas paket pembuatan data palsu.
Menghasilkan Data Palsu Dasar Dengan Gofakeit
Gofakeit menyediakan fungsionalitas untuk menghasilkan berbagai jenis data, termasuk nama, email, telepon, frase bisnis, dll.
Inilah cara Anda dapat menghasilkan data palsu dasar dengan 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)
}
Itu utama fungsi menghasilkan beberapa nilai palsu dengan Gofakeit dan mencetaknya ke konsol menggunakan Println fungsi dari paket fmt.
Gofakeit menyediakan tag struct untuk menghasilkan data palsu untuk berbagai bidang. Saat Anda menggunakan tag struct ini, Gofakeit akan menginisialisasi bidangnya dengan data palsu.
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 Persongofakeit.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)
}
Bidang dari Orang struct semua memiliki palsu tag struct. Dalam utama fungsi, yang orang variabel adalah turunan dari struct Person.
Itu gofakeit. Struktur metode mengisi elemen yang diekspor dari sebuah struct dengan data acak berdasarkan nilai palsu tag bidang yang diekspor. Itu utama fungsi kemudian mencetak bidang struct ke konsol.
Menghasilkan Data Palsu yang Kompleks
Anda dapat menghasilkan data palsu yang rumit dengan Gofakeit, termasuk kalimat acak, paragraf, dan lorem ipsum dengan Kalimat, Gugus kalimat, Dan LoremIpsumParagraf fungsi, masing-masing.
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())
}
Itu generateRandomSentence fungsi menghasilkan kalimat acak dengan Gofakeit Kalimat fungsi. Itu generateRandomParagraph fungsi menghasilkan paragraf acak dengan Gugus kalimat fungsi.
Itu generateLoremIpsum fungsi menghasilkan paragraf lorem ipsum acak dengan LoremIpsumParagraf fungsi.
Itu utama function memanggil fungsi generateRandomSentence, generateRandomParagraph, dan generateLoremIpsum. Program mencetak output dari fungsi ke konsol.
Anda Dapat Menghasilkan Data Palsu untuk Menguji Database Anda
Gofakeit menyederhanakan pengujian dengan pembuatan data dinamis untuk memastikan kompatibilitas dengan beragam persyaratan.
Anda dapat menggunakan paket database/sql bawaan Go untuk mengisi database SQL Anda dengan data palsu untuk pengujian. Ini dapat membantu Anda menguji lebih banyak kasus edge dan meningkatkan keamanan database.