Ինչպես ստեղծել կեղծ թեստի տվյալներ Go-ով
Ձեզ հաճախ անհրաժեշտ են տվյալներ՝ ձեր հավելվածը իմաստալից արժեքներով փորձարկելու համար: Պարզապես օգտագործեք Gofakeit-ը՝ այն ձեզ համար կեղծելու համար:
Հուսալի և իրատեսական թեստային տվյալները առանցքային նշանակություն ունեն ձեր հավելվածների որակի և ֆունկցիոնալության ապահովման համար: Կեղծ տվյալների ստեղծումը, որոնք ընդօրինակում են իրական աշխարհի սցենարները, օգտակար հմտություն է թեստավորման բազմաթիվ ձևերի համար:
Ստանդարտ գրադարանում կեղծ տվյալների ստեղծման աջակցություն չկա, բայց շատ փաթեթներ կան Go-ի ավելի լայն էկոհամակարգում: Կեղծ տվյալների ստեղծման հայտնի փաթեթներից մեկը Gofakeit-ն է:
Ինչպես սկսել Gofakeit-ի հետ
Gofakeit-ը ձեր Go ծրագրերում կեղծ տվյալներ ստեղծելու փաթեթ է:
Gofakeit-ն առաջարկում է ընդարձակ առանձնահատկություններ, ներառյալ պատահական տվյալների ստեղծումը տարբեր տեսակների վրա: Այն նաև տրամադրում է հարմարեցված տարբերակներ՝ հատուկ ձևաչափերին համապատասխանելու, տեղայնացման աջակցության և ժամանակի և ամսաթվի իրատեսական ձևավորման համար:
Գործարկեք այս հրամանը ձեր նախագծի աշխատանքային գրացուցակում՝ նոր Go նախագիծը սկզբնավորելուց հետո՝ Gofakeit-ը որպես երրորդ կողմի կախվածություն ավելացնելու համար.
go get github.com/brianvoe/gofakeit/v6
Gofakeit-ը որպես կախվածություն ավելացնելուց հետո կարող եք փաթեթը ներմուծել հետևյալ կերպ.
import (
"github.com/brianvoe/gofakeit/v6"
)
Ընդհանուր առմամբ, Gofakeit-ն ապահովում է կեղծ տվյալների ստեղծման փաթեթի ֆունկցիոնալության մեծ մասը:
Հիմնական կեղծ տվյալների ստեղծում Gofakeit-ի միջոցով
Gofakeit-ն ապահովում է տարբեր տեսակի տվյալների ստեղծման գործառույթ, ներառյալ անուններ, էլ. նամակներ, հեռախոսներ, բիզնես արտահայտություններ և այլն:
Ահա, թե ինչպես կարող եք ստեղծել հիմնական կեղծ տվյալներ Gofakeit-ով.
package main
import (
"fmt"
"github.com/brianvoe/gofakeit/v6"
)
func main() {
// 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)
}
հիմնական ֆունկցիան ստեղծում է մի քանի կեղծ արժեքներ Gofakeit-ով և տպում դրանք վահանակում՝ օգտագործելով Println ֆունկցիան fmt փաթեթից:
Gofakeit-ը տրամադրում է struct tags տարբեր ոլորտների համար կեղծ տվյալներ ստեղծելու համար: Երբ դուք օգտագործում եք այս կառուցվածքային պիտակները, Gofakeit-ը նախաստորագրում է դրանց դաշտերը կեղծ տվյալներով:
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)
}
Person struct-ի դաշտերը բոլորն ունեն կեղծ struct պիտակներ: հիմնական ֆունկցիայի մեջ person փոփոխականը Person struct-ի օրինակն է:
gofakeit.Struct մեթոդը լրացնում է կառուցվածքի արտահանված տարրերը պատահական տվյալներով՝ հիմնված արտահանվող դաշտերի կեղծ թեգի արժեքի վրա: Այնուհետև հիմնական ֆունկցիան տպում է struct դաշտերը վահանակում:
Կեղծ կոմպլեքս տվյալների ստեղծում
Դուք կարող եք ստեղծել բարդ կեղծ տվյալներ Gofakeit-ի միջոցով, ներառյալ պատահական նախադասություններ, պարբերություններ և lorem ipsum՝ համապատասխանաբար Նախադասություն, Պարբերություն, և LoremIpsumParagraph ֆունկցիաներով: .
package main
import (
"fmt"
"github.com/brianvoe/gofakeit/v6"
)
func generateRandomSentence() string {
// Generate a random sentence with 6 words
sentence := gofakeit.Sentence(6)
return sentence
}
func generateRandomParagraph() string {
// Generate a random paragraph with 3 sentences, each having 4 to 8 words
paragraph := gofakeit.Paragraph(3, 4, 8, "/n")
return paragraph
}
func generateLoremIpsum() string {
// Generate 2 paragraphs of lorem ipsum text, each having 3 to 5 sentences
loremIpsum := gofakeit.LoremIpsumParagraph(3, 5, 12, "\\n")
return loremIpsum
}
func main() {
// 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())
}
generateRandomSentence ֆունկցիան առաջացնում է պատահական նախադասություն Gofakeit-ի Sentence ֆունկցիայով: generateRandomParagraph ֆունկցիան ստեղծում է պատահական պարբերություն Paragraph ֆունկցիայով:
generateLoremIpsum ֆունկցիան ստեղծում է պատահական lorem ipsum պարբերություն LoremIpsumParagraph ֆունկցիայով:
հիմնական ֆունկցիան կանչում է genererRandomSentence, generateRandomParagraph և generateLoremIpsum ֆունկցիաները: Ծրագիրը ֆունկցիայի ելքերը տպում է վահանակի վրա:
Դուք կարող եք կեղծ տվյալներ ստեղծել՝ ձեր տվյալների բազան փորձարկելու համար
Gofakeit-ը հեշտացնում է թեստավորումը դինամիկ տվյալների ստեղծման հետ՝ ապահովելու համատեղելիությունը տարբեր պահանջների հետ:
Դուք կարող եք օգտագործել Go-ի ներկառուցված տվյալների բազան/sql փաթեթը՝ ձեր SQL տվյալների բազան փորձարկման համար կեղծ տվյալներով համալրելու համար: Սա կարող է օգնել ձեզ փորձարկել ավելի շատ եզրային դեպքեր և բարելավել տվյալների բազայի անվտանգությունը:
ՀՏՀ
Հարց. Ինչպե՞ս կարող եմ օգտագործել այս կեղծ թեստի տվյալները:
Դուք պետք է գրեք միավորի թեստեր և նրանց տրամադրեք կեղծ թեստային տվյալներ՝ ստուգելու համար, որ ձեր ծրագրի փոքր, կազմվող մասերը ճիշտ են աշխատում:
Հարց. Ի՞նչ այլ փորձարկման փաթեթներ է տրամադրում Go-ն:
Go-ն ունի գերազանց ներկառուցված աջակցություն իր փորձարկման փաթեթի միջոցով: Դրանով դուք կարող եք չափորոշիչ ծածկագրել, օգտագործել fuzzing՝ ձեր թեստի տվյալները փոփոխելու համար և ձեր թեստերը հիերարխիայի մեջ կառուցեք:
Հարց: Ո՞րն է պատմությունը Լորեմ Իփսումի հետևում:
Lorem ipsum-ը տեղապահի տեքստի տարածված տեսակ է, որը մշակողները և դիզայներները հաճախ օգտագործում են իրական տեքստի փոխարեն: Դա օգտակար է, քանի որ հասկացվում է, որ այն կեղծ է, բայց այն դեռ նման է իսկական տեքստի: