Generate tests for a go package
go get --tool github.com/moritz-tiesler/boil$ cat src/frog.gopackage frog
type Frog struct{}
func (f *Frog) quack(loud bool) string {
if loud {
return "QUACK!"
}
return "quack..."
}$ cd src/
$ go tool boil
Created file frog_test.go
Created 1 tests$ cat frog_test.gopackage frog
import (
"reflect"
"testing"
)
func TestQuack(t *testing.T) {
t.Run("TestQuack_0", func(t *testing.T) {
// delete this after your implementation
t.Fatalf("test not implemented")
var receiver Frog
var loud bool
result0 := receiver.quack(loud)
var expect0 string
if !reflect.DeepEqual(result0, expect0) {
t.Errorf("Expected %v, got %v", expect0, result0)
}
})
}You can generate your tests in table format with the --table flag:
$ go tool boil --tablepackage frog
import (
"reflect"
"testing"
)
func TestQuack(t *testing.T) {
tests := []struct {
testName string
loud bool
}{
// put your test cases here
}
// delete this after your implementation
t.Fatalf("test not implemented")
for _, tt := range tests {
t.Run(tt.testName, func(t *testing.T) {
var receiver Frog
result0 := receiver.quack(tt.loud)
var expect0 string
if !reflect.DeepEqual(result0, expect0) {
t.Errorf("Expected %v, got %v", expect0, result0)
}
})
}
}