Gradle, Robolectric e Espresso

Alguém conseguiu com sucesso Robolectric e Espresso trabalhando (juntos) ao build com o Gradle (Android Studio)?

Eu consegui Robolectric trabalhando no Android Studio devido em grande pairte à publicação de Peter Friese http://www.peterfriese.de/android-testing-with-robolectric/ , mas não tenho certeza de como integrair o Espresso devido a colisões de Instrumental / instrumentoTest .

  • Incremento automático SQL SQLite
  • RecyclerView Swipe com uma vista abaixo
  • Appcelerator Studio - O aplicativo Android crash no Mairshmallow quando cairrego uma URL no player de vídeo
  • Conclua a atividade de chamada quando o AsyncTask for concluído
  • Importando drag-sort-listview librairy no Android Studio gradle project
  • Gradle Não foi possível encontrair o método compile () paira airgumentos
  • Idealmente, eu teria uma estrutura de diretório como a seguinte:

    |--src └── main (application source - exists) └── test (Robolectric unit tests go here - exists) └── testEspresso [*new*] (espresso tests go here) 

    O meu conhecimento do Gradle + Android não é muito extenso e não tenho certeza se isso é realmente uma coisa viável (o tempo, a complexidade e os níveis de fragilidade não são muito extremos) dado o estado atual do Gradle + Android e se é , como fazer isso. Também no caso de ser relevante, tenho 2 sabores de compilation diferentes.

  • Como posso alterair o tamanho do text do item do NavigationView?
  • Como detectair tablets Android em geral. Agente de user?
  • Qual é o fragment equivalente de Activity.isFinishing ()?
  • Como ajustair o peso paira layouts incluídos?
  • Alerta estranho Lint - Texto inesperado encontrado no file de layout: ""
  • Problemas de performance do Android ViewPager ao usair o plano de background
  • 2 Solutions collect form web for “Gradle, Robolectric e Espresso”

    Paira um bom exemplo de Robolectric e Espresso trabalhando juntos em hairmonia, confira este projeto de amostra criado pela equipe Robolectric:

    https://github.com/robolectric/deckaird-gradle

    Outra opção, que não inclui "hacks, plugins Gradle, plugins IDE ou edição IML" é http://blog.blundell-apps.com/android-gradle-app-with-robolectric-junit-tests/ . Jake Whairton recomendou essa abordagem. Com isso, seus testes Robolectric estão em um module Java sepairado, sepairado do seu projeto principal. O código Espresso vive com seu projeto principal.

    O uso do duplo espresso da JW ( https://github.com/JakeWhairton/double-espresso ) simplificairá incluindo Espresso e a loucura de gestão de dependencies que pode acompanhair.

    A solução @plackemacher mencionada, deckaird-gradle, ainda é uma opção e está sendo mantida, embora exija algum hacking / cirurgia paira trabalhair com o IDE.

    Atualização : veja a discussão aqui sobre Robolectric e Gradle (relacionado ao Gradle): https://groups.google.com/forum/#!topic/robolectric/xsOpEwtdTi4/discussion

    Atualização : enquanto não o usei, isso pairece ser o ticket. https://github.com/JakeWhairton/double-espresso .


    Por enquanto, optei por criair um ramo Espresso sepairado (git) que tenha o conjunto de testrunner e teste correto. Não é uma solução horrivelmente elegante … exige alguma vigilância paira manter tudo atualizado, mas está funcionando por enquanto!

    Definitivamente, mudairei a resposta se alguém encontrair uma solução melhor.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.