github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/test/testdata/testifylint.go (about) 1 //golangcitest:args -Etestifylint 2 package testdata 3 4 import ( 5 "io" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 "github.com/stretchr/testify/suite" 11 ) 12 13 func TestTestifylint(t *testing.T) { 14 var ( 15 predicate bool 16 resultInt int 17 resultFloat float64 18 arr []string 19 err error 20 ) 21 22 assert.Equal(t, predicate, true) // want "bool-compare: use assert\\.True" 23 assert.True(t, resultInt == 1) // want "compares: use assert\\.Equal" 24 assert.Equal(t, len(arr), 0) // want "empty: use assert\\.Empty" 25 assert.Error(t, err, io.EOF) // want "error-is-as: invalid usage of assert\\.Error, use assert\\.ErrorIs instead" 26 assert.Nil(t, err) // want "error-nil: use assert\\.NoError" 27 assert.Equal(t, resultInt, 42) // want "expected-actual: need to reverse actual and expected values" 28 assert.Equal(t, resultFloat, 42.42) // want "float-compare: use assert\\.InEpsilon \\(or InDelta\\)" 29 assert.Equal(t, len(arr), 10) // want "len: use assert\\.Len" 30 31 assert.True(t, predicate) 32 assert.Equal(t, resultInt, 1) // want "expected-actual: need to reverse actual and expected values" 33 assert.Empty(t, arr) 34 assert.ErrorIs(t, err, io.EOF) // want "require-error: for error assertions use require" 35 assert.NoError(t, err) // want "require-error: for error assertions use require" 36 assert.Equal(t, 42, resultInt) 37 assert.InEpsilon(t, 42.42, resultFloat, 0.0001) 38 assert.Len(t, arr, 10) 39 40 require.ErrorIs(t, err, io.EOF) 41 require.NoError(t, err) 42 43 t.Run("formatted", func(t *testing.T) { 44 assert.Equal(t, predicate, true, "message") // want "bool-compare: use assert\\.True" 45 assert.Equal(t, predicate, true, "message %d", 42) // want "bool-compare: use assert\\.True" 46 assert.Equalf(t, predicate, true, "message") // want "bool-compare: use assert\\.Truef" 47 assert.Equalf(t, predicate, true, "message %d", 42) // want "bool-compare: use assert\\.Truef" 48 }) 49 50 assert.Equal(t, arr, nil) // want "nil-compare: use assert\\.Nil" 51 assert.Nil(t, arr) 52 53 go func() { 54 if assert.Error(t, err) { 55 require.ErrorIs(t, err, io.EOF) // want "go-require: require must only be used in the goroutine running the test function" 56 } 57 }() 58 } 59 60 type SuiteExample struct { 61 suite.Suite 62 } 63 64 func TestSuiteExample(t *testing.T) { 65 suite.Run(t, new(SuiteExample)) 66 } 67 68 func (s *SuiteExample) TestAll() { 69 var b bool 70 s.Assert().True(b) // want "suite-extra-assert-call: need to simplify the assertion to s\\.True" 71 }