Como você mencionou que teria que modificar o último teste pois agora o método dolarToReal() está sendo chamado 6 vezes. De fato está, é porque estamos utilizando a mesma instancia em todos os testes.
Acredito que não é a melhor maneira pois os testes irão ficar dependentes um dos outros.
A minha sugestão é continuar usando a mesma referência da variável httpMock, mas ao invés de declará-la como final e instancia-la no inicio, a modificação sugerida é usar o método setUp para instanciar ela a cada teste.
late MockBankHttp httpMock;
setUp(() {
httpMock = MockBankHttp();
});
Deste modo é possivel garantir que o primeiro comportamento colocado no teste deverificar a quantidade de vezes que o dolarToReal() foi chamado.
testWidgets('testing MockHttp dolarToReal', (tester) async {
when(httpMock.dolarToReal()).thenAnswer((_) async => '5');
await tester.pumpWidget(
MaterialApp(
home: BankInherited(
child: Home(
api: httpMock.dolarToReal(),
),
),
),
);
verify(httpMock.dolarToReal()).called(1);
});
Por fim, todos os testes rodam em grupo ou isoladamente.