Skip to content

d0ubletr0uble/expecterlint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

expecterlint

GitHub go.mod Go version Go Report Card Go Doc Pipeline

Since v2.10.0 mockery introduced Expecter Structs.

expecterlint checks if calls to .On("Method") could be replaced with syntax .EXPECT().Method().

For example tests that register mock calls with .On

func Test_CreateUser(t *testing.T) {
    u := NewMockUserIFace(t)
    u.On("CreateUser", mock.Anything, User{}).Return(nil)

    err := u.CreateUser(t.Context(), User{})
    if err != nil {
        t.Error(err)
    }
}

could be replaced with:

func Test_CreateUser(t *testing.T) {
    u := NewMockUserIFace(t)
    u.EXPECT().CreateUser(mock.Anything, User{}).Return(nil)

    err := u.CreateUser(t.Context(), User{})
    if err != nil {
        t.Error(err)
    }
}

which benefits from argument hints, type safety and better IDE support.

Usage

expecterlint checks only _test.go files.

  • To automatically replace findings
go run github.com/d0ubletr0uble/expecterlint/cmd/expecterlint@latest -fix ./...
  • To only list findings
go run github.com/d0ubletr0uble/expecterlint/cmd/expecterlint@latest ./...

About

Go linter for expecter syntax

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages