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 (1,704 forks)batch import
help wanted

Repository metrics

Stars
 (25,958 stars)
PR merge metrics
 (Avg merge 6d 15h) (2 merged PRs in 30d)

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