Clone this repo:

Branches

Tags

  1. 011e2db I meant 1.8.x instead of 1.8.0 by Marc-Antoine Ruel · 6 weeks ago master
  2. a920b18 Bump travis to 1.8 and 1.x. by Marc-Antoine Ruel · 6 weeks ago
  3. a9c9f15 Escape ANSI codes. by Marc-Antoine Ruel · 1 year, 9 months ago v1.0.0
  4. e403083 Only use unified diff if the content is multiple lines. by Marc-Antoine Ruel · 1 year, 10 months ago
  5. f5445ca Use unified diff by default, makes thing easier to handle by Marc-Antoine Ruel · 1 year, 10 months ago

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)
}