Github.com/stretchr/testify: Difference between revisions
Jump to navigation
Jump to search
(→Mocks) |
|||
Line 61: | Line 61: | ||
... | ... | ||
mockMyService := new(MockMyService) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 23:31, 30 January 2024
External
Internal
Overview
Installation
go get github.com/stretchr/testify
Programming Model
Assertions
package yours
import (
"testing"
tassert "github.com/stretchr/testify/assert"
)
func TestSomething(t *testing.T) {
assert := tassert.New(t)
// assert equality
assert.Equal(123, 123, "they should be equal")
// assert inequality
assert.NotEqual(123, 456, "they should not be equal")
// assert for nil (good for errors)
assert.Nil(object)
// assert for not nil (good when you expect something)
if assert.NotNil(object) {
// now we know that object isn't nil, we are safe to make
// further assertions without causing any errors
assert.Equal("Something", object.Value)
}
}
To check that an error has the expected message:
err := ...
assert.NotNil(err)
assert.Equal(err.Error(), "expected message")
Mocks
...
type MockMyService struct {
mock.Mock
}
func (m * MockMyService) Start() error {
...
}
...
mockMyService := new(MockMyService)