mirror of https://github.com/stretchr/testify.git
Improve errors from mock assertions
Mark the assert helpers as helpers for Go Versions that support `t.Helper()`pull/569/merge
parent
0bfbef4e58
commit
b89eecf5ca
22
mock/mock.go
22
mock/mock.go
|
@ -382,6 +382,9 @@ type assertExpectationser interface {
|
||||||
//
|
//
|
||||||
// Calls may have occurred in any order.
|
// Calls may have occurred in any order.
|
||||||
func AssertExpectationsForObjects(t TestingT, testObjects ...interface{}) bool {
|
func AssertExpectationsForObjects(t TestingT, testObjects ...interface{}) bool {
|
||||||
|
if h, ok := t.(tHelper); ok {
|
||||||
|
h.Helper()
|
||||||
|
}
|
||||||
for _, obj := range testObjects {
|
for _, obj := range testObjects {
|
||||||
if m, ok := obj.(Mock); ok {
|
if m, ok := obj.(Mock); ok {
|
||||||
t.Logf("Deprecated mock.AssertExpectationsForObjects(myMock.Mock) use mock.AssertExpectationsForObjects(myMock)")
|
t.Logf("Deprecated mock.AssertExpectationsForObjects(myMock.Mock) use mock.AssertExpectationsForObjects(myMock)")
|
||||||
|
@ -399,6 +402,9 @@ func AssertExpectationsForObjects(t TestingT, testObjects ...interface{}) bool {
|
||||||
// AssertExpectations asserts that everything specified with On and Return was
|
// AssertExpectations asserts that everything specified with On and Return was
|
||||||
// in fact called as expected. Calls may have occurred in any order.
|
// in fact called as expected. Calls may have occurred in any order.
|
||||||
func (m *Mock) AssertExpectations(t TestingT) bool {
|
func (m *Mock) AssertExpectations(t TestingT) bool {
|
||||||
|
if h, ok := t.(tHelper); ok {
|
||||||
|
h.Helper()
|
||||||
|
}
|
||||||
m.mutex.Lock()
|
m.mutex.Lock()
|
||||||
defer m.mutex.Unlock()
|
defer m.mutex.Unlock()
|
||||||
var somethingMissing bool
|
var somethingMissing bool
|
||||||
|
@ -431,6 +437,9 @@ func (m *Mock) AssertExpectations(t TestingT) bool {
|
||||||
|
|
||||||
// AssertNumberOfCalls asserts that the method was called expectedCalls times.
|
// AssertNumberOfCalls asserts that the method was called expectedCalls times.
|
||||||
func (m *Mock) AssertNumberOfCalls(t TestingT, methodName string, expectedCalls int) bool {
|
func (m *Mock) AssertNumberOfCalls(t TestingT, methodName string, expectedCalls int) bool {
|
||||||
|
if h, ok := t.(tHelper); ok {
|
||||||
|
h.Helper()
|
||||||
|
}
|
||||||
m.mutex.Lock()
|
m.mutex.Lock()
|
||||||
defer m.mutex.Unlock()
|
defer m.mutex.Unlock()
|
||||||
var actualCalls int
|
var actualCalls int
|
||||||
|
@ -445,6 +454,9 @@ func (m *Mock) AssertNumberOfCalls(t TestingT, methodName string, expectedCalls
|
||||||
// AssertCalled asserts that the method was called.
|
// AssertCalled asserts that the method was called.
|
||||||
// It can produce a false result when an argument is a pointer type and the underlying value changed after calling the mocked method.
|
// It can produce a false result when an argument is a pointer type and the underlying value changed after calling the mocked method.
|
||||||
func (m *Mock) AssertCalled(t TestingT, methodName string, arguments ...interface{}) bool {
|
func (m *Mock) AssertCalled(t TestingT, methodName string, arguments ...interface{}) bool {
|
||||||
|
if h, ok := t.(tHelper); ok {
|
||||||
|
h.Helper()
|
||||||
|
}
|
||||||
m.mutex.Lock()
|
m.mutex.Lock()
|
||||||
defer m.mutex.Unlock()
|
defer m.mutex.Unlock()
|
||||||
if !m.methodWasCalled(methodName, arguments) {
|
if !m.methodWasCalled(methodName, arguments) {
|
||||||
|
@ -465,6 +477,9 @@ func (m *Mock) AssertCalled(t TestingT, methodName string, arguments ...interfac
|
||||||
// AssertNotCalled asserts that the method was not called.
|
// AssertNotCalled asserts that the method was not called.
|
||||||
// It can produce a false result when an argument is a pointer type and the underlying value changed after calling the mocked method.
|
// It can produce a false result when an argument is a pointer type and the underlying value changed after calling the mocked method.
|
||||||
func (m *Mock) AssertNotCalled(t TestingT, methodName string, arguments ...interface{}) bool {
|
func (m *Mock) AssertNotCalled(t TestingT, methodName string, arguments ...interface{}) bool {
|
||||||
|
if h, ok := t.(tHelper); ok {
|
||||||
|
h.Helper()
|
||||||
|
}
|
||||||
m.mutex.Lock()
|
m.mutex.Lock()
|
||||||
defer m.mutex.Unlock()
|
defer m.mutex.Unlock()
|
||||||
if m.methodWasCalled(methodName, arguments) {
|
if m.methodWasCalled(methodName, arguments) {
|
||||||
|
@ -679,6 +694,9 @@ func (args Arguments) Diff(objects []interface{}) (string, int) {
|
||||||
// Assert compares the arguments with the specified objects and fails if
|
// Assert compares the arguments with the specified objects and fails if
|
||||||
// they do not exactly match.
|
// they do not exactly match.
|
||||||
func (args Arguments) Assert(t TestingT, objects ...interface{}) bool {
|
func (args Arguments) Assert(t TestingT, objects ...interface{}) bool {
|
||||||
|
if h, ok := t.(tHelper); ok {
|
||||||
|
h.Helper()
|
||||||
|
}
|
||||||
|
|
||||||
// get the differences
|
// get the differences
|
||||||
diff, diffCount := args.Diff(objects)
|
diff, diffCount := args.Diff(objects)
|
||||||
|
@ -826,3 +844,7 @@ var spewConfig = spew.ConfigState{
|
||||||
DisableCapacities: true,
|
DisableCapacities: true,
|
||||||
SortKeys: true,
|
SortKeys: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type tHelper interface {
|
||||||
|
Helper()
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue