packer-cn/vendor/github.com/approvals/go-approval-tests
Christopher Boumenot 31b5cee287 Add Approvals dependency 2016-07-15 21:21:23 -07:00
..
reporters Add Approvals dependency 2016-07-15 21:21:23 -07:00
utils Add Approvals dependency 2016-07-15 21:21:23 -07:00
.gitignore Add Approvals dependency 2016-07-15 21:21:23 -07:00
LICENSE.md Add Approvals dependency 2016-07-15 21:21:23 -07:00
README.md Add Approvals dependency 2016-07-15 21:21:23 -07:00
approval_name.go Add Approvals dependency 2016-07-15 21:21:23 -07:00
approvals.go Add Approvals dependency 2016-07-15 21:21:23 -07:00
combination_approvals.go Add Approvals dependency 2016-07-15 21:21:23 -07:00

README.md

ApprovalTests.go

ApprovalTests for go

Build Status

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()
}