Programming language: Go
License: MIT License
Tags: Testing     Testing Frameworks    
Latest version: v2.0.1

assert alternatives and similar packages

Based on the "Testing Frameworks" category.
Alternatively, view assert alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of assert or a related project?

Add another 'Testing Frameworks' Package


Package assert

Build Status GoDoc

Package assert is a Basic Assertion library used along side native go testing


Use go get.

go get github.com/go-playground/assert

Then import the assert package into your own code.

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

Usage and documentation

Please see http://godoc.org/github.com/go-playground/assert for detailed usage docs.

package whatever

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

func AssertCustomErrorHandler(t testing.TB, 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")

How to Contribute

Make a PR.

I strongly encourage everyone whom creates a usefull custom assertion function to contribute them and help make this package even better.


Distributed under MIT License, please see license file in code for more details.

*Note that all licence references and agreements mentioned in the assert README section above are relevant to that project's source code only.