Para mockar um Method Channel, precisamos imitar o seu comportamento. Para conseguir isso podemos utilizar o TestDefaultBinaryMessenger.setMockMessageHandler.
O método setMockMessageHandle irá substituir o callback fornecido para o MethodChannel pelo handler especificado durante o teste. Dessa forma, temos controle sobre a dependência durante o contexto do teste.
Contexto
Imagine que você precisa realizar a migração parcial de um fluxo para Flutter, e nessa execução, você precisará passar dados da tela nativa para o Flutter. Como podemos garantir esse comportamento?
Nossa tela
Nosso teste
Conclusão
Em nosso exemplo, vimos como assumir o controle do MethodChannel durante o contexto do nosso teste. Para isso, utimizamos a função setMockMethodCallHandler, que permite substituirmos o callback do Channel pelo que gostaríamos.
Isso nos possibilita executar os cenários que nossa aplicação poderia ter sem mesmo termos de compilar o código nativo, o que torna o ciclo de feedback de desenvolvimento menor, possibilitando entregar com mais qualidade e em menos tempo.