An open API service indexing awesome lists of open source software.

https://github.com/jimeh/go-golden

Yet another Go package for working with *.golden test files, with a focus on simplicity.
https://github.com/jimeh/go-golden

go go-golden go-test go-test-helper go-testing golang golden-file

Last synced: over 1 year ago
JSON representation

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

Awesome Lists containing this project

README

          


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

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

## Usage

```go
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:

```go
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](https://pkg.go.dev/github.com/jimeh/go-golden#section-documentation)
for documentation and examples.

## License

[MIT](https://github.com/jimeh/go-golden/blob/master/LICENSE)