| 1234567891011121314151617181920212223242526272829 |
- package test
- import (
- "flag"
- "os"
- "path/filepath"
- "testing"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- // Update is the -update flag: Golden rewrites its file instead of comparing against it.
- var Update = flag.Bool("update", false, "rewrite golden files instead of comparing against them")
- // Golden compares got with the file at path, or rewrites the file when -update is set.
- func Golden(t *testing.T, path, got string) {
- t.Helper()
- if *Update {
- require.NoError(t, os.MkdirAll(filepath.Dir(path), 0755))
- require.NoError(t, os.WriteFile(path, []byte(got), 0644))
- return
- }
- want, err := os.ReadFile(path)
- require.NoError(t, err, "missing golden file, run with -update")
- assert.Equal(t, string(want), got)
- }
|