stretchr/testify

Allow dynamic returns based on arguments

Open

#350 opened on Sep 15, 2016

View on GitHub
 (35 comments) (59 reactions) (0 assignees)Go (25,958 stars) (1,704 forks)batch import
help wanted

Description

C# Moq allows to return data based on call arguments.

testify/mock don't. It's possible to do using Run, but it's a big mess of code.

It would be great to have something like this:

myMock.On("Load", mock.AnythingOfType("string")).ReturnFn(func (token string) (*MyObj, error) {
    if isValid(token) {
        return someStuff(), nil
    } else {
        return nil, errors.New("Oh!")
    }
})

I can send a PR if someone like this idea.

Contributor guide