Skip to content

Yet another Go package for working with *.golden test files, with a focus on simplicity.

License

Notifications You must be signed in to change notification settings

jimeh/go-golden

Repository files navigation

go-golden

Yet another Go package for working with *.golden test files, with a focus on simplicity.

Go Reference Actions Status Coverage GitHub issues GitHub pull requests License Status

Import

import "github.com/jimeh/go-golden"

Usage

func TestExampleMyStruct(t *testing.T) {
	got, err := json.Marshal(&MyStruct{Foo: "Bar"})
	require.NoError(t, err)

	if golden.Update() {
		golden.Set(t, got)
	}
	want := golden.Get(t)

	assert.Equal(t, want, got)
}

The above example will read/write to:

  • testdata/TestExampleMyStruct.golden

To update the golden file (have golden.Update() return true), simply set the GOLDEN_UPDATE environment variable to one of 1, y, t, yes, on, or true when running tests.

Documentation

Please see the Go Reference for documentation and examples.

License

MIT