dktesting

package
v4.18.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2024 License: MIT Imports: 6 Imported by: 0

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

type ContainerSpec struct {
	ImageName string
	Options   dktest.Options
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL