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.
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 ./...