Documentation

Overview

Package golden provides tools for comparing large mutli-line strings.

Golden files are files in the ./testdata/ subdirectory of the package under test.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Assert

func Assert(t assert.TestingT, actual string, filename string, msgAndArgs ...interface{})

Assert compares the actual content to the expected content in the golden file. If the `-test.update-golden` flag is set then the actual content is written to the golden file. Returns whether the assertion was successful (true) or not (false). This is equivalent to assert.Check(t, String(actual, filename))

Example
package main

import (
	"testing"

	"gotest.tools/golden"
)

var t = &testing.T{}

func main() {
	golden.Assert(t, "foo", "foo-content.golden")
}
Output:

func AssertBytes

func AssertBytes(
	t assert.TestingT,
	actual []byte,
	filename string,
	msgAndArgs ...interface{},
)

AssertBytes compares the actual result to the expected result in the golden file. If the `-test.update-golden` flag is set then the actual content is written to the golden file. Returns whether the assertion was successful (true) or not (false). This is equivalent to assert.Check(t, Bytes(actual, filename))

Example
package main

import (
	"testing"

	"gotest.tools/golden"
)

var t = &testing.T{}

func main() {
	golden.AssertBytes(t, []byte("foo"), "foo-content.golden")
}
Output:

func Bytes

func Bytes(actual []byte, filename string) cmp.Comparison

Bytes compares actual to the contents of filename and returns success if the bytes are equal. If the `-test.update-golden` flag is set then the actual content is written to the golden file.

func Get

func Get(t assert.TestingT, filename string) []byte

Get returns the contents of the file in ./testdata

func Path

func Path(filename string) string

Path returns the full path to a file in ./testdata

func String

func String(actual string, filename string) cmp.Comparison

String compares actual to the contents of filename and returns success if the strings are equal. If the `-test.update-golden` flag is set then the actual content is written to the golden file.

Any \r\n substrings in actual are converted to a single \n character before comparing it to the expected string. When updating the golden file the normalized version will be written to the file. This allows Windows to use the same golden files as other operating systems.

Example
package main

import (
	"testing"

	"gotest.tools/assert"
	"gotest.tools/golden"
)

var t = &testing.T{}

func main() {
	assert.Assert(t, golden.String("foo", "foo-content.golden"))
}
Output:

Types

This section is empty.

Source Files