packagemytestsimport("log/slog""os""testing""github.com/wrapped-owls/testereiro/puppetest")varNewEnginefunc(ttesting.TB)*puppetest.EnginefuncTestMain(m*testing.M){factory,err:=puppetest.NewEngineFactory()iferr!=nil{slog.Error("failed to create engine factory",slog.String("error",err.Error()))os.Exit(1)}NewEngine=factory.NewEnginecode:=m.Run()iferr=factory.Close();err!=nil{slog.Error("failed to close engine factory",slog.String("error",err.Error()))os.Exit(1)}os.Exit(code)}
First Test
1
2
3
4
5
6
funcTestSmoke(t*testing.T){engine:=NewEngine(t)ifengine.BaseURL()!=""{t.Fatal("expected no server in this setup")}}
mySQLPerformer must match puppetest.ConnectionPerformer.
WithConnectionFactory on its own opens the database your performer points at and reuses it.
Adding WithDatabaseLifecycle gives each test its own database, created before the test and
dropped after it. See Database Lifecycle for the shipped
engines and for writing your own.