Documentation ¶
Index ¶
- Constants
- func AssertExpectationsForObjects(t TestingT, testObjects ...interface{}) bool
- func MatchedBy(fn interface{}) argumentMatcher
- type AnythingOfTypeArgument
- type Arguments
- func (args Arguments) Assert(t TestingT, objects ...interface{}) bool
- func (args Arguments) Bool(index int) bool
- func (args Arguments) Diff(objects []interface{}) (string, int)
- func (args Arguments) Error(index int) error
- func (args Arguments) Get(index int) interface{}
- func (args Arguments) Int(index int) int
- func (args Arguments) Is(objects ...interface{}) bool
- func (args Arguments) String(indexOrNil ...int) string
- type Call
- func (c *Call) After(d time.Duration) *Call
- func (c *Call) On(methodName string, arguments ...interface{}) *Call
- func (c *Call) Once() *Call
- func (c *Call) Return(returnArguments ...interface{}) *Call
- func (c *Call) Run(fn func(Arguments)) *Call
- func (c *Call) Times(i int) *Call
- func (c *Call) Twice() *Call
- func (c *Call) WaitUntil(w <-chan time.Time) *Call
- type Mock
- func (m *Mock) AssertCalled(t TestingT, methodName string, arguments ...interface{}) bool
- func (m *Mock) AssertExpectations(t TestingT) bool
- func (m *Mock) AssertNotCalled(t TestingT, methodName string, arguments ...interface{}) bool
- func (m *Mock) AssertNumberOfCalls(t TestingT, methodName string, expectedCalls int) bool
- func (m *Mock) Called(arguments ...interface{}) Arguments
- func (m *Mock) FindExpectedCall(method string, arguments ...interface{}) (int, *Call)
- func (m *Mock) MethodCalled(functionName string, arguments ...interface{}) Arguments
- func (m *Mock) On(methodName string, arguments ...interface{}) *Call
- func (m *Mock) TestData() objx.Map
- type TestingT
Constants ¶
const ( // Anything is used in Diff and Assert when the argument being tested // shouldn't be taken into consideration. Anything string = "mock.Anything" )
Variables ¶
This section is empty.
Functions ¶
func AssertExpectationsForObjects ¶
AssertExpectationsForObjects asserts that everything specified with On and Return of the specified objects was in fact called as expected.
Calls may have occurred in any order.
func MatchedBy ¶
func MatchedBy(fn interface{}) argumentMatcher
MatchedBy can be used to match a mock call based on only certain properties from a complex struct or some calculation. It takes a function that will be evaluated with the called argument and will return true when there's a match and false otherwise.
Example: m.On("Do", MatchedBy(func(req *http.Request) bool { return req.Host == "example.com" }))
|fn|, must be a function accepting a single argument (of the expected type) which returns a bool. If |fn| doesn't match the required signature, MathedBy() panics.
Types ¶
type AnythingOfTypeArgument ¶
type AnythingOfTypeArgument string
AnythingOfTypeArgument is a string that contains the type of an argument for use when type checking. Used in Diff and Assert.
func AnythingOfType ¶
func AnythingOfType(t string) AnythingOfTypeArgument
AnythingOfType returns an AnythingOfTypeArgument object containing the name of the type to check for. Used in Diff and Assert.
For example:
Assert(t, AnythingOfType("string"), AnythingOfType("int"))
type Arguments ¶
type Arguments []interface{}
Arguments holds an array of method arguments or return values.
func (Arguments) Assert ¶
Assert compares the arguments with the specified objects and fails if they do not exactly match.
func (Arguments) Bool ¶
Bool gets the argument at the specified index. Panics if there is no argument, or if the argument is of the wrong type.
func (Arguments) Diff ¶
Diff gets a string describing the differences between the arguments and the specified objects.
Returns the diff string and number of differences found.
func (Arguments) Error ¶
Error gets the argument at the specified index. Panics if there is no argument, or if the argument is of the wrong type.
func (Arguments) Int ¶
Int gets the argument at the specified index. Panics if there is no argument, or if the argument is of the wrong type.
type Call ¶
type Call struct { Parent *Mock // The name of the method that was or will be called. Method string // Holds the arguments of the method. Arguments Arguments // Holds the arguments that should be returned when // this method is called. ReturnArguments Arguments // The number of times to return the return arguments when setting // expectations. 0 means to always return the value. Repeatability int // Holds a channel that will be used to block the Return until it either // receives a message or is closed. nil means it returns immediately. WaitFor <-chan time.Time // Holds a handler used to manipulate arguments content that are passed by // reference. It's useful when mocking methods such as unmarshalers or // decoders. RunFn func(Arguments) // contains filtered or unexported fields }
Call represents a method call and is used for setting expectations, as well as recording activity.
func (*Call) After ¶
After sets how long to block until the call returns
Mock.On("MyMethod", arg1, arg2).After(time.Second)
func (*Call) On ¶
On chains a new expectation description onto the mocked interface. This allows syntax like.
Mock. On("MyMethod", 1).Return(nil). On("MyOtherMethod", 'a', 'b', 'c').Return(errors.New("Some Error"))
func (*Call) Once ¶
Once indicates that that the mock should only return the value once.
Mock.On("MyMethod", arg1, arg2).Return(returnArg1, returnArg2).Once()
func (*Call) Return ¶
Return specifies the return arguments for the expectation.
Mock.On("DoSomething").Return(errors.New("failed"))
func (*Call) Run ¶
Run sets a handler to be called before returning. It can be used when mocking a method such as unmarshalers that takes a pointer to a struct and sets properties in such struct
Mock.On("Unmarshal", AnythingOfType("*map[string]interface{}").Return().Run(func(args Arguments) { arg := args.Get(0).(*map[string]interface{}) arg["foo"] = "bar" })
func (*Call) Times ¶
Times indicates that that the mock should only return the indicated number of times.
Mock.On("MyMethod", arg1, arg2).Return(returnArg1, returnArg2).Times(5)
type Mock ¶
type Mock struct { // Represents the calls that are expected of // an object. ExpectedCalls []*Call // Holds the calls that were made to this mocked object. Calls []Call // contains filtered or unexported fields }
Mock is the workhorse used to track activity on another object. For an example of its usage, refer to the "Example Usage" section at the top of this document.
func (*Mock) AssertCalled ¶
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.
func (*Mock) AssertExpectations ¶
AssertExpectations asserts that everything specified with On and Return was in fact called as expected. Calls may have occurred in any order.
func (*Mock) AssertNotCalled ¶
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.
func (*Mock) AssertNumberOfCalls ¶
AssertNumberOfCalls asserts that the method was called expectedCalls times.
func (*Mock) Called ¶
Called tells the mock object that a method has been called, and gets an array of arguments to return. Panics if the call is unexpected (i.e. not preceded by appropriate .On .Return() calls) If Call.WaitFor is set, blocks until the channel is closed or receives a message.
func (*Mock) FindExpectedCall ¶
func (*Mock) MethodCalled ¶
MethodCalled tells the mock object that a method with specified name has been called, and gets an array of arguments to return. Panics if the call is unexpected (i.e. not preceded by appropriate .On .Return() calls) If Call.WaitFor is set, blocks until the channel is closed or receives a message.