Ինչպես ստեղծել կեղծ թեստի տվյալներ 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-ը տեղապահի տեքստի տարածված տեսակ է, որը մշակողները և դիզայներները հաճախ օգտագործում են իրական տեքստի փոխարեն: Դա օգտակար է, քանի որ հասկացվում է, որ այն կեղծ է, բայց այն դեռ նման է իսկական տեքստի: