Android: Unidade de teste de aplicativos Android com Robolectric e Mockito

Tenho uma biblioteca Java que usa algumas coisas das APIs do Android. Gostaria de usar o Mockito para escrever testes de unidade para esta biblioteca.

Existe uma maneira de eu fazer isso?

Mockito não tem um bom desempenho na Dalvik VM, veja este post:sando o Mockito com máquina virtual Andro

ATUALIZAR

Desde este post, descobri o Robolectric e tive a oportunidade de trabalhar no Pivotal Labs e fazer algumas pequenas contribuições para esta biblioteca. Eu recomendaria usar isso na estrutura de teste do Android / mockito. Além disso, você pode usar o Robolectric AND Mockito, mas os objetos de sombra no Robolectric tornam o Mockito desnecessário na maioria dos casos de us

O problema ao tentar fazer o teste de unidade do Android é que a biblioteca do Android em que você constrói tem todos os métodos stubbed para lançar uma exceção stub ou retornar nulo. Se você deseja testar seu aplicativo e deseja qualquer comportamento do Android, está sem sorte, a menos que você use o Robolectric, que reescreve o código de bytes em tempo real quando as classes são carregadas e injeta um objeto de sombra que simula o comportamento.

UPDATE 2:

Faz um tempo e as coisas mudaram. Muitas das classes Shadow no Robolectric foram substituídas pelas classes reais do Android. Os jars reais do Android agora são usados e o Robolectric carrega apenas as classes Shadow para um conjunto de coisas muito menor. Esse é ainda mais um motivo para usar o Robolectric nos seus testes do Android.

questionAnswers(4)

yourAnswerToTheQuestion