mirror of
https://github.com/jimeh/go-mocktesting.git
synced 2026-02-18 19:46:38 +00:00
108ae0ec9a7d26e214bb81057d3fac30b5b24325
Without this function there was no way to inspect the list of temporary directories created by calls to TempDir(), also making it impossible to verify that TempDir() has been called.
go-mocktesting
Mock *testing.T for the purpose of testing test helpers.
Import
import "github.com/jimeh/go-mocktesting"
Usage
func Example_basic() {
assertTrue := func(t testing.TB, v bool) {
if v != true {
t.Error("expected false to be true")
}
}
mt := mocktesting.NewT("TestMyBoolean1")
assertTrue(mt, true)
fmt.Printf("Name: %s\n", mt.Name())
fmt.Printf("Failed: %+v\n", mt.Failed())
fmt.Printf("Aborted: %+v\n", mt.Aborted())
mt = mocktesting.NewT("TestMyBoolean2")
assertTrue(mt, false)
fmt.Printf("Name: %s\n", mt.Name())
fmt.Printf("Failed: %+v\n", mt.Failed())
fmt.Printf("Aborted: %+v\n", mt.Aborted())
fmt.Printf("Output: %s\n", strings.Join(mt.Output(), ""))
// Output:
// Name: TestMyBoolean1
// Failed: false
// Aborted: false
// Name: TestMyBoolean2
// Failed: true
// Aborted: false
// Output: expected false to be true
}
func Example_fatal() {
requireTrue := func(t testing.TB, v bool) {
if v != true {
t.Fatal("expected false to be true")
}
}
mt := mocktesting.NewT("TestMyBoolean1")
requireTrue(mt, true)
fmt.Printf("Name: %s\n", mt.Name())
fmt.Printf("Failed: %+v\n", mt.Failed())
fmt.Printf("Aborted: %+v\n", mt.Aborted())
mt = mocktesting.NewT("TestMyBoolean2")
mocktesting.Go(func() {
requireTrue(mt, false)
fmt.Println("This is never executed.")
})
fmt.Printf("Name: %s\n", mt.Name())
fmt.Printf("Failed: %+v\n", mt.Failed())
fmt.Printf("Aborted: %+v\n", mt.Aborted())
fmt.Printf("Output: %s\n", strings.Join(mt.Output(), ""))
// Output:
// Name: TestMyBoolean1
// Failed: false
// Aborted: false
// Name: TestMyBoolean2
// Failed: true
// Aborted: true
// Output: expected false to be true
}
func Example_subtests() {
requireTrue := func(t testing.TB, v bool) {
if v != true {
t.Fatal("expected false to be true")
}
}
mt := mocktesting.NewT("TestMyBoolean")
mt.Run("true", func(t testing.TB) {
requireTrue(t, true)
})
fmt.Printf("Name: %s\n", mt.Name())
fmt.Printf("Failed: %+v\n", mt.Failed())
fmt.Printf("Sub1-Name: %s\n", mt.Subtests()[0].Name())
fmt.Printf("Sub1-Failed: %+v\n", mt.Subtests()[0].Failed())
fmt.Printf("Sub1-Aborted: %+v\n", mt.Subtests()[0].Aborted())
mt.Run("false", func(t testing.TB) {
requireTrue(t, false)
fmt.Println("This is never executed.")
})
fmt.Printf("Failed: %+v\n", mt.Failed())
fmt.Printf("Sub2-Name: %s\n", mt.Subtests()[1].Name())
fmt.Printf("Sub2-Failed: %+v\n", mt.Subtests()[1].Failed())
fmt.Printf("Sub2-Aborted: %+v\n", mt.Subtests()[1].Aborted())
fmt.Printf("Sub2-Output: %s\n", strings.Join(mt.Subtests()[1].Output(), ""))
// Output:
// Name: TestMyBoolean
// Failed: false
// Sub1-Name: TestMyBoolean/true
// Sub1-Failed: false
// Sub1-Aborted: false
// Failed: true
// Sub2-Name: TestMyBoolean/false
// Sub2-Failed: true
// Sub2-Aborted: true
// Sub2-Output: expected false to be true
}
Documentation
Please see the Go Reference for documentation and examples.
License
Languages
Go
95.9%
Makefile
4.1%