assert: github.com/go-playground/assert Index | Files

package assert

import "github.com/go-playground/assert"

Package assert provides some basic assertion functions for testing and also provides the building blocks for creating your own more complex validations.

package whatever

import (
	"errors"
	"testing"
	. "gopkg.in/go-playground/assert.v1"
)

func AssertCustomErrorHandler(t *testing.T, errs map[string]string, key, expected string) {
	val, ok := errs[key]

	// using EqualSkip and NotEqualSkip as building blocks for my custom Assert function
	EqualSkip(t, 2, ok, true)
	NotEqualSkip(t, 2, val, nil)
	EqualSkip(t, 2, val, expected)
}

func TestEqual(t *testing.T) {

	// error comes from your package/library
	err := errors.New("my error")
	NotEqual(t, err, nil)
	Equal(t, err.Error(), "my error")

	err = nil
	Equal(t, err, nil)

	fn := func() {
		panic("omg omg omg!")
	}

	PanicMatches(t, func() { fn() }, "omg omg omg!")
	PanicMatches(t, func() { panic("omg omg omg!") }, "omg omg omg!")

	// errs would have come from your package/library
	errs := map[string]string{}
	errs["Name"] = "User Name Invalid"
	errs["Email"] = "User Email Invalid"

	AssertCustomErrorHandler(t, errs, "Name", "User Name Invalid")
	AssertCustomErrorHandler(t, errs, "Email", "User Email Invalid")
}

Index

Package Files

assert.go doc.go

func Equal Uses

func Equal(t *testing.T, val1, val2 interface{})

Equal validates that val1 is equal to val2 and throws an error with line number

func EqualSkip Uses

func EqualSkip(t *testing.T, skip int, val1, val2 interface{})

EqualSkip validates that val1 is equal to val2 and throws an error with line number but the skip variable tells EqualSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func IsEqual Uses

func IsEqual(val1, val2 interface{}) bool

IsEqual returns whether val1 is equal to val2 taking into account Pointers, Interfaces and their underlying types

func MatchRegex Uses

func MatchRegex(t *testing.T, value string, regex interface{})

MatchRegex validates that value matches the regex, either string or *regex and throws an error with line number

func MatchRegexSkip Uses

func MatchRegexSkip(t *testing.T, skip int, value string, regex interface{})

MatchRegexSkip validates that value matches the regex, either string or *regex and throws an error with line number but the skip variable tells MatchRegexSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func NotEqual Uses

func NotEqual(t *testing.T, val1, val2 interface{})

NotEqual validates that val1 is not equal val2 and throws an error with line number

func NotEqualSkip Uses

func NotEqualSkip(t *testing.T, skip int, val1, val2 interface{})

NotEqualSkip validates that val1 is not equal to val2 and throws an error with line number but the skip variable tells NotEqualSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func NotMatchRegex Uses

func NotMatchRegex(t *testing.T, value string, regex interface{})

NotMatchRegex validates that value matches the regex, either string or *regex and throws an error with line number

func NotMatchRegexSkip Uses

func NotMatchRegexSkip(t *testing.T, skip int, value string, regex interface{})

NotMatchRegexSkip validates that value matches the regex, either string or *regex and throws an error with line number but the skip variable tells NotMatchRegexSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func PanicMatches Uses

func PanicMatches(t *testing.T, fn func(), matches string)

PanicMatches validates that the panic output of running fn matches the supplied string

func PanicMatchesSkip Uses

func PanicMatchesSkip(t *testing.T, skip int, fn func(), matches string)

PanicMatchesSkip validates that the panic output of running fn matches the supplied string but the skip variable tells PanicMatchesSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

Package assert imports 6 packages (graph). Updated 2017-07-19. Refresh now. Tools for package owners. This is an inactive package (no imports and no commits in at least two years).