Mock class doesn't show in coverage report
douglasalipio opened this issue · 1 comments
douglasalipio commented
I have an issue every time when I run the flutter test --coverage
and genhtml -o coverage coverage/lcov.info
. After generating the coverage report to analyze it, I found all the Mock classes (Remote data source) do not cover by the library.
Example:
class MockRegisterUserDataSource extends Mock
implements RegisterUserDataSource {}
void main() {
MockRegisterUserDataSource mockRegisterUserDataSource;
RegisterUserRepositoryImp repository;
setUp(() {
mockRegisterUserDataSource = MockRegisterUserDataSource();
repository =
RegisterUserRepositoryImp(dataSource: mockRegisterUserDataSource);
});
test('should create an user', () async {
// arrange
final userModel = UserModel(email: email, displayName: displayName);
final user = User(email, displayName);
when(mockRegisterUserDataSource.createAccount(any, any))
.thenAnswer((_) async => userModel);
// act
final result = await repository.createAccount(email, displayName);
// assert
verify(mockRegisterUserDataSource.createAccount(email, displayName));
verifyNoMoreInteractions(mockRegisterUserDataSource);
expect(result, equals(Right(user)));
});
}
And, this is the LCOV - code coverage report.
pulyaevskiy commented
I don’t think Flutter uses this library for test coverage. I recommend submitting an issue in the Flutter repo.