31b5cee287 | ||
---|---|---|
.. | ||
reporters | ||
utils | ||
.gitignore | ||
LICENSE.md | ||
README.md | ||
approval_name.go | ||
approvals.go | ||
combination_approvals.go |
README.md
ApprovalTests.go
ApprovalTests for go
Golden master Verification Library
ApprovalTests allows for easy testing of larger objects, strings and anything else that can be saved to a file (images, sounds, csv, etc...)
#Examples ##In Project Note: ApprovalTests uses approvaltests to test itself. Therefore there are many examples in the code itself.
##JSON VerifyJSONBytes - Simple Formatting for easy comparison. Also uses the .json file extension
func TestVerifyJSON(t *testing.T) {
jsonb := []byte("{ \"foo\": \"bar\", \"age\": 42, \"bark\": \"woof\" }")
VerifyJSONBytes(t, jsonb)
}
Matches file: approvals_test.TestVerifyJSON.received.json
{
"age": 42,
"bark": "woof",
"foo": "bar"
}
##Reporters ApprovalTests becomes much more powerful with reporters. Reporters launch programs on failure to help you understand, fix and approve results.
You can make your own easily, here's an example You can also declare which one to use. Either at the
Method level
r := UseReporter(reporters.NewIntelliJ())
defer r.Close()
Test Level
func TestMain(m *testing.M) {
r := UseReporter(reporters.NewBeyondCompareReporter())
defer r.Close()
m.Run()
}