travis: Stop using pcg and instead add neat checks

pcg is outdated.
The new checks are more useful.
Fix an ignored variable detected by ineffassign.
Bump to 1.9.7, since golang.org/x/tools is not compatible with 1.8.
Do not run go vet on 1.9.7, since -vettool is not available there.
2 files changed
tree: 77b6192f358874e53b0d4996b92621880fc6a7ac
  1. .travis.yml
  2. decorate_test.go
  3. go.mod
  4. go.sum
  5. LICENSE
  6. README.md
  7. utiltest.go
  8. utiltest_test.go
README.md

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