补充一下生成factory文件和用法
package booktableorderfactory
import (
"github.com/bxcodec/faker"
"github/zaihui/ent-factory/factories"
"github/zaihui/ent-factory/gen/entschema"
"github/zaihui/ent-factory/service/app"
)
type BookTableOrderFieldSetter func(*entschema.BookTableOrder)
func SetUID(uIDGen string) BookTableOrderFieldSetter {
return func(bookTableOrderGen *entschema.BookTableOrder) {
bookTableOrderGen.UID = uIDGen
}
}
func SetUserUID(userUIDGen string) BookTableOrderFieldSetter {
return func(bookTableOrderGen *entschema.BookTableOrder) {
bookTableOrderGen.UserUID = userUIDGen
}
}
func SetOrderNo(orderNoGen string) BookTableOrderFieldSetter {
return func(bookTableOrderGen *entschema.BookTableOrder) {
bookTableOrderGen.OrderNo = orderNoGen
}
}
func SetType(typeGen string) BookTableOrderFieldSetter {
return func(bookTableOrderGen *entschema.BookTableOrder) {
bookTableOrderGen.Type = typeGen
}
}
func New(s factories.TestSuite, opts ...BookTableOrderFieldSetter) *entschema.BookTableOrder {
data := entschema.BookTableOrder{}
s.NoError(faker.FakeData(&data))
for _, opt := range opts {
opt(&data)
}
return app.EntClient.BookTableOrder.Create().
SetUID(data.UID).
SetUserUID(data.UserUID).
SetOrderNo(data.OrderNo).
SetType(data.Type).
SaveX(s.Context())
}
用法
package main
import (
your_location_of_factories/booktableorderfactory
)
// s is an instance of test suite
order := booktableorderfactory.new(s)
// if you want to customize the value of a field, eg. UID
order2: = booktableorderfactory.new(s, booktableorderfactory.SetUID("your uid"))