Uygulamanızı anlamlı değerlerle test etmek için genellikle verilere ihtiyacınız olacaktır. Sadece sizin için taklit etmesi için Gofakeit'i kullanın.

Güvenilir ve gerçekçi test verileri, uygulamalarınızın kalitesini ve işlevselliğini sağlamada çok önemlidir. Gerçek dünya senaryolarını taklit eden sahte veriler oluşturmak, birçok test biçimi için yararlı bir beceridir.

Standart kitaplıkta sahte veri oluşturma desteği yoktur, ancak Go'nun daha geniş ekosisteminde birçok paket bulunur. Sahte veri üretimi için popüler bir paket Gofakeit'tir.

Gofakeit'e Başlarken

Gofakeit, Go programlarınızda sahte veriler oluşturmak için bir pakettir.

Gofakeit, çeşitli türlerde rastgele veri üretimi de dahil olmak üzere kapsamlı özellikler sunar. Ayrıca, belirli biçimlere bağlılık, yerelleştirme desteği ve gerçekçilik için özelleştirilebilir seçenekler sunar. saat ve tarih oluşturma.

Gofakeit'i üçüncü taraf bir bağımlılık olarak eklemek için yeni bir Go projesi başlattıktan sonra projenizin çalışma dizininde bu komutu çalıştırın:

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

Gofakeit'i bir bağımlılık olarak ekledikten sonra paketi şu şekilde içe aktarabilirsiniz:

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

Genel olarak Gofakeit, sahte bir veri oluşturma paketinin işlevselliğinin çoğunu sağlar.

Gofakeit ile Temel Sahte Veri Oluşturma

Gofakeit, isimler, e-postalar, telefonlar, iş ifadeleri vb. dahil olmak üzere farklı türde veriler oluşturmak için işlevsellik sağlar.

Gofakeit ile temel sahte verileri şu şekilde oluşturabilirsiniz:

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

bu ana işlevi, Gofakeit ile birkaç sahte değer üretir ve bunları kullanarak konsola yazdırır. Yazdır işlevi fmt paketi.

Gofakeit, çeşitli alanlar için sahte veriler oluşturmak için yapı etiketleri sağlar. Bu yapı etiketlerini kullandığınızda, Gofakeit alanlarını sahte verilerle başlatacaktır.

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

alanları Kişi tüm yapı var sahte yapı etiketleri. İçinde ana işlev, kişi değişken, Kişi yapısının bir örneğidir.

bu sahtekarlık yapı yöntemi, bir yapının dışa aktarılan öğelerini, değerine dayalı olarak rastgele verilerle doldurur. sahte dışa aktarılan alanların etiketi. bu ana işlev daha sonra yapı alanlarını konsola yazdırır.

Karmaşık Sahte Veri Oluşturma

Gofakeit ile rastgele cümleler, paragraflar ve lorem ipsum dahil olmak üzere karmaşık sahte veriler oluşturabilirsiniz. Cümle, Paragraf, Ve LoremIpsumParagraf sırasıyla fonksiyonlar.

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

bu Rastgele Cümle oluştur işlevi, Gofakeit ile rastgele bir cümle oluşturur Cümle işlev. bu Rastgele Paragraf oluştur işlevi, rastgele bir paragraf oluşturur. Paragraf işlev.

bu oluşturLoremIpsum işlevi rastgele bir lorem ipsum paragrafı oluşturur. LoremIpsumParagraf işlev.

bu ana işlevi, createRandomSentence, createRandomParagraphvecreateLoremIpsum işlevlerini çağırır. Program, fonksiyonun çıktılarını konsola yazdırır.

Veritabanınızı Test Etmek İçin Sahte Veriler Üretebilirsiniz

Gofakeit, çeşitli gereksinimlerle uyumluluk sağlamak için dinamik veri oluşturma ile testi basitleştirir.

SQL veritabanınızı test amacıyla sahte verilerle doldurmak için Go'nun yerleşik veritabanı/sql paketini kullanabilirsiniz. Bu, daha fazla uç durumu test etmenize ve veritabanı güvenliğini artırmanıza yardımcı olabilir.