Често ће вам бити потребни подаци да бисте тестирали своју апликацију са значајним вредностима. Само користите Гофакеит да га лажирате за вас.

Поуздани и реалистични подаци тестирања су кључни у обезбеђивању квалитета и функционалности ваших апликација. Генерисање лажних података који имитирају сценарије из стварног света је корисна вештина за многе облике тестирања.

Не постоји подршка за генерисање лажних података у стандардној библиотеци, али многи пакети постоје у Го-овом ширем екосистему. Један популаран пакет за генерисање лажних података је Гофакеит.

Почетак рада са Гофакеитом

Гофакеит је пакет за генерисање лажних података у вашим Го програмима.

Гофакеит нуди опсежне функције, укључујући насумично генерисање података у различитим типовима. Такође пружа прилагодљиве опције за придржавање одређених формата, подршку за локализацију и реалистичност генерисање времена и датума.

Покрените ову команду у радном директоријуму вашег пројекта, након што сте иницијализовали нови Го пројекат, да бисте додали Гофакеит као зависност треће стране:

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

Након што додате Гофакеит као зависност, можете увести пакет на следећи начин:

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

Све у свему, Гофакеит пружа већину функционалности пакета за генерисање лажних података.

Генерисање основних лажних података помоћу Гофакеита

Гофакеит пружа функционалност за генерисање различитих врста података, укључујући имена, е-пошту, телефоне, пословне фразе итд.

Ево како можете да генеришете основне лажне податке помоћу Гофакеита:

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

Тхе главни функција генерише неколико лажних вредности помоћу Гофакеит-а и штампа их на конзоли користећи Принтлн функција из фмт пакет.

Гофакеит обезбеђује струцт ознаке за генерисање лажних података за различита поља. Када користите ове струцт ознаке, Гофакеит ће иницијализовати њихова поља лажним подацима.

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

Поља на Особа структуру сви имају лажан струцт ознаке. У главни функција, тхе особа променљива је инстанца структуре Персон.

Тхе гофакеит. Структура метода попуњава извезене елементе структуре насумичним подацима на основу вредности лажан ознака извезених поља. Тхе главни функција затим штампа поља структуре на конзоли.

Генерисање сложених лажних података

Можете да генеришете сложене лажне податке помоћу Гофакеита, укључујући насумичне реченице, пасусе и лорем ипсум помоћу Реченица, став, и ЛоремИпсумПараграпх функције, респективно.

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

Тхе генератеРандомСентенце функција генерише случајну реченицу са Гофакеитом Реченица функција. Тхе генератеРандомПараграпх функција генерише насумични пасус са Параграф функција.

Тхе генератеЛоремИпсум функција генерише насумични лорем ипсум параграф са ЛоремИпсумПараграпх функција.

Тхе главни функција позива функције генератеРандомСентенце, генератеРандомПараграпх и генератеЛоремИпсум. Програм штампа излазе функције на конзолу.

Можете да генеришете лажне податке да бисте тестирали своју базу података

Гофакеит поједностављује тестирање помоћу динамичког генерисања података како би осигурао компатибилност са различитим захтевима.

Можете да користите Го-ов уграђени пакет базе података/скл да попуните своју СКЛ базу података лажним подацима за тестирање. Ово вам може помоћи да тестирате више ивичних случајева и побољшате безбедност базе података.