mirror of
https://github.com/jimeh/go-golden.git
synced 2026-02-19 03:16:38 +00:00
Add new Do function whihc ecapsulates the common pattern of writing to golden file if the update mechnism evaluates to true, followed by immediately reading the file. Compresses four lines into one.
2.1 KiB
2.1 KiB
go-golden
Yet another Go package for working with *.golden test files,
with a focus on simplicity.
Import
import "github.com/jimeh/go-golden"
Usage
func TestExampleMyStruct(t *testing.T) {
got, err := json.Marshal(&MyStruct{Foo: "Bar"})
require.NoError(t, err)
want := golden.Do(t, got)
assert.Equal(t, want, got)
}
The above example will read/write to:
testdata/TestExampleMyStruct.golden
The call to golden.Do() is equivalent to:
if golden.Update() {
golden.Set(t, got)
}
want := golden.Get(t)
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.