Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParallelTest ¶
func ParallelTest(t *testing.T, specs []ContainerSpec, testFunc func(*testing.T, dktest.ContainerInfo))
ParallelTest runs Docker tests in parallel
Example ¶
package main import ( "context" "testing" "github.com/dhui/dktest" "github.com/golang-migrate/migrate/v4/dktesting" ) func main() { t := &testing.T{} // Should actually be used in a Test var isReady = func(ctx context.Context, c dktest.ContainerInfo) bool { // Return true if the container is ready to run tests. // Don't block here though. Use the Context to timeout container ready checks. return true } dktesting.ParallelTest(t, []dktesting.ContainerSpec{{ImageName: "docker_image:9.6", Options: dktest.Options{ReadyFunc: isReady}}}, func(t *testing.T, c dktest.ContainerInfo) { // Run your test/s ... t.Fatal("...") }) }
Output:
Types ¶
type ContainerSpec ¶
ContainerSpec holds Docker testing setup specifications
func (*ContainerSpec) Cleanup ¶
func (s *ContainerSpec) Cleanup() (retErr error)
Cleanup cleanups the ContainerSpec after a test run by removing the ContainerSpec's image
Click to show internal directories.
Click to hide internal directories.