Add testify's require package

This commit is contained in:
Denis Arh
2019-09-09 13:04:12 +02:00
parent 09af44a9ed
commit d04cbbb058
9 changed files with 2650 additions and 2 deletions
Generated
+8 -2
View File
@@ -484,9 +484,12 @@
version = "v1.3.0"
[[projects]]
digest = "1:8548c309c65a85933a625be5e7d52b6ac927ca30c56869fae58123b8a77a75e1"
digest = "1:99d32780e5238c2621fff621123997c3e3cca96db8be13179013aea77dfab551"
name = "github.com/stretchr/testify"
packages = ["assert"]
packages = [
"assert",
"require",
]
pruneopts = "UT"
revision = "221dbe5ed46703ee255b1da0dec05086f5035f62"
version = "v1.4.0"
@@ -774,6 +777,7 @@
"github.com/goware/statik/fs",
"github.com/jmoiron/sqlx",
"github.com/jmoiron/sqlx/types",
"github.com/joho/godotenv",
"github.com/joho/godotenv/autoload",
"github.com/lann/builder",
"github.com/markbates/goth",
@@ -790,6 +794,8 @@
"github.com/spf13/cobra",
"github.com/steinfletcher/apitest",
"github.com/steinfletcher/apitest-jsonpath",
"github.com/stretchr/testify/assert",
"github.com/stretchr/testify/require",
"github.com/titpetric/factory",
"github.com/titpetric/factory/logger",
"github.com/titpetric/factory/resputil",
+4
View File
@@ -33,3 +33,7 @@ required = [
[[constraint]]
name = "github.com/gabriel-vasile/mimetype"
version = "0.3.17"
[[constraint]]
name = "github.com/stretchr/testify"
version = "1.4.0"
+28
View File
@@ -0,0 +1,28 @@
// Package require implements the same assertions as the `assert` package but
// stops test execution when a test fails.
//
// Example Usage
//
// The following is a complete example using require in a standard test function:
// import (
// "testing"
// "github.com/stretchr/testify/require"
// )
//
// func TestSomething(t *testing.T) {
//
// var a string = "Hello"
// var b string = "Hello"
//
// require.Equal(t, a, b, "The two words should be the same.")
//
// }
//
// Assertions
//
// The `require` package have same global functions as in the `assert` package,
// but instead of returning a boolean result they call `t.FailNow()`.
//
// Every assertion function also takes an optional string message as the final argument,
// allowing custom error messages to be appended to the message the assertion method outputs.
package require
+16
View File
@@ -0,0 +1,16 @@
package require
// Assertions provides assertion methods around the
// TestingT interface.
type Assertions struct {
t TestingT
}
// New makes a new Assertions object for the specified TestingT.
func New(t TestingT) *Assertions {
return &Assertions{
t: t,
}
}
//go:generate go run ../_codegen/main.go -output-package=require -template=require_forward.go.tmpl -include-format-funcs
File diff suppressed because it is too large Load Diff
+6
View File
@@ -0,0 +1,6 @@
{{.Comment}}
func {{.DocInfo.Name}}(t TestingT, {{.Params}}) {
if h, ok := t.(tHelper); ok { h.Helper() }
if assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { return }
t.FailNow()
}
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
{{.CommentWithoutT "a"}}
func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) {
if h, ok := a.t.(tHelper); ok { h.Helper() }
{{.DocInfo.Name}}(a.t, {{.ForwardedParams}})
}
+29
View File
@@ -0,0 +1,29 @@
package require
// TestingT is an interface wrapper around *testing.T
type TestingT interface {
Errorf(format string, args ...interface{})
FailNow()
}
type tHelper interface {
Helper()
}
// ComparisonAssertionFunc is a common function prototype when comparing two values. Can be useful
// for table driven tests.
type ComparisonAssertionFunc func(TestingT, interface{}, interface{}, ...interface{})
// ValueAssertionFunc is a common function prototype when validating a single value. Can be useful
// for table driven tests.
type ValueAssertionFunc func(TestingT, interface{}, ...interface{})
// BoolAssertionFunc is a common function prototype when validating a bool value. Can be useful
// for table driven tests.
type BoolAssertionFunc func(TestingT, bool, ...interface{})
// ErrorAssertionFunc is a common function prototype when validating an error value. Can be useful
// for table driven tests.
type ErrorAssertionFunc func(TestingT, error, ...interface{})
//go:generate go run ../_codegen/main.go -output-package=require -template=require.go.tmpl -include-format-funcs