Na versão anterior do plugin eu podia instanciar um geolocalizador, era legal e meus testes de unidade estavam muito felizes com isso porque o geolocalizador podia ser zombado.
Agora tudo é estático... Existe alguma maneira nova que não envolva métodos estáticos?
@jaumard Admito que essa pode não ter sido a melhor escolha que fiz. No entanto, em minha defesa, a prática comum em testes e arquitetura de aplicativos em geral sugere que você não deve zombar do que não possui (leia mais aqui ).
Minha sugestão seria escrever um wrapper em torno do geolocalizador e zombar do wrapper.
Seu link é mais sobre TDD do que testes de unidade em geral. Além disso, se não zombarmos, o teste não passará, suponho, porque não há implementação nele ao executar o teste.
Também quero verificar se a geolocalização é chamada no meu código e verificar se o que faço com o resultado está correto. Tantas razões para você querer zombar de deps de terceiros :)
Também não zombe de deps usando network e faça seus testes sem rede, vai ser divertido :D ou até mesmo com realmente show network e ganhe 1 hora para executar seus testes lol
Mas sim, vou fazer meu próprio wrapper em torno do geolocator, apenas imaginando se algo foi incorporado antes de fazê-lo.
O link também sugere criar wrappers/adaptadores/shims para dependências de terceiros e zombar deles, pelos motivos específicos que você mencionou. Dessa forma, você está zombando apenas do código que você possui (como você é o proprietário dos wrappers/adaptadores/calços).
Isso tem os seguintes benefícios:
Vou encerrar esta questão, mas sinta-se à vontade para continuar a discussão ;)
Comentários muito úteis
O link também sugere criar wrappers/adaptadores/shims para dependências de terceiros e zombar deles, pelos motivos específicos que você mencionou. Dessa forma, você está zombando apenas do código que você possui (como você é o proprietário dos wrappers/adaptadores/calços).
Isso tem os seguintes benefícios:
Vou encerrar esta questão, mas sinta-se à vontade para continuar a discussão ;)