Clone this repo:
  1. c8fe219 travis: Stop using pcg and instead add neat checks by Marc-Antoine Ruel · 9 months ago master
  2. 7f126a2 Add go.mod by Marc-Antoine Ruel · 9 months ago v1.0.1
  3. 011e2db I meant 1.8.x instead of 1.8.0 by Marc-Antoine Ruel · 2 years, 10 months ago
  4. a920b18 Bump travis to 1.8 and 1.x. by Marc-Antoine Ruel · 2 years, 10 months ago
  5. a9c9f15 Escape ANSI codes. by Marc-Antoine Ruel · 4 years, 5 months ago v1.0.0

ut (utiltest)

Collection of small functions to shorten Go test cases.

Requires Go 1.2 due to the use of testing.TB. If needed, replace with *testing.T at the cost of not being usable in benchmarks.

GoDoc Build Status Coverage Status

Examples

package foo

import (
	"github.com/maruel/ut"
	"log"
	"strconv"
	"testing"
)

func TestItoa(t *testing.T) {
	ut.AssertEqual(t, "42", strconv.Itoa(42))
}

func TestItoaDataListDriven(t *testing.T) {
	data := []struct {
		in       int
		expected string
	}{
		{9, "9"},
		{11, "11"},
	}
	for i, item := range data {
		ut.AssertEqualIndex(t, i, item.expected, strconv.Itoa(item.in))
	}
}

func TestWithLog(t *testing.T) {
	out := ut.NewWriter(t)
	defer out.Close()

	logger := log.New(out, "Foo:", 0)

	// These will be included in the test output only if the test case fails.
	logger.Printf("Q: What is the answer to life the universe and everything?")
	logger.Printf("A: %d", 42)
}