I faced a problem while mocking a class for testing. The problem is my class extends euqatable. And when I try to mock it I see the warning: Don't implement classes that override "=="
. I'm searching for a solution that solves this warning without using ignore
or completely filling up models using super
as it's recommended in avoid_implementing_value_types rule doc. Just creating mock as it usually is with some small additional code snippet. Here is the example of the code that causes the warning:
class MyEquatableClass extends Equatable {
@override
List<Object?> get props => [];
}
class MockMyEquatableClass extends Mock implements MyEquatableClass {}
Well, it's said in mockito's documentation that it's prefered to create your mocks using code generation instead of the old
extends Mock
, by doing so I don't get any warning:Another way of mocking your classes which is in my opinion just as good as using mockito is using the package mocktail:
While the mocking API may change a bit you'll have the same capabilities as mockito without relying on code generation.