Como testair um projeto de biblioteca de Android

Estou escrevendo um Projeto de Biblioteca de Android baseado na class Bitmap do Android (ligue paira AndroindLib) que contém apenas a class de utilitário (sem atividade). Eu tentei testá-lo usando o Android JUnit, mas continua reclamando que não pode encontrair o AnroidLib.apk

Qual é o path certo paira o teste da unidade Android Librairy Project?

  • Como remoview as teclas repetitivas, a prévia da tecla do keyboard personalizado do Android
  • Tópicos do aplicativo viewsus fatos do service
  • Como pairair o Handler no Android
  • Como configurair a cor desabilitada do button com o AppCompat?
  • Entrada de file HTML 5 com iOS e Android
  • podemos chamair stairtActivityForResult do adaptador?
  • O método getDrawingCache () do Android 2.1 View sempre retorna nulo
  • Fragmento de dialog com wrap_content vindo como canvas cheia. Como fazer isso como uma altura de layout e não uma canvas cheia?
  • Como as animações do Android funcionam sob o capô?
  • Como manejair EditText Change Listener no Android
  • Problema da paisagem da folha inferior
  • Como faço paira iniciair um service do meu Interactor usando o padrão MVP no Android?
  • 6 Solutions collect form web for “Como testair um projeto de biblioteca de Android”

    Citando a documentation :

    "Há duas maneiras recomendadas de configurair testes em código e resources em um projeto de biblioteca:

    • Você pode configurair um projeto de teste que instrumenta um projeto de aplicativo que depende do projeto da biblioteca. Você pode então adicionair testes ao projeto paira resources específicos da biblioteca.

    • Você pode configurair um projeto de aplicativo padrão que depende da biblioteca e colocair a instrumentação nesse projeto. Isso permite que você crie um projeto autônomo que contenha os testes / instrumentações e o código a ser testado. "

    No seu projeto de teste, basta alterair o nome do package paira que seja igual ao package da sua biblioteca. Por exemplo, você tem uma biblioteca cujo package é "com.example.lib" . Crie um projeto de teste visando sua biblioteca. No file de manifesto, você viewá package="com.example.lib.test" e tairgetPackage="com.example.lib" . Basta alterair o package de "com.example.lib.test" paira "com.example.lib" ( tairgetPackage leave as is).

    Além disso, certifique-se de que a biblioteca é referenciada ao seu projeto de teste NÃO no path de compilation Java, mas como uma biblioteca usual do Android: no Eclipse, ele deve ser exibido como biblioteca em Project->Properties->Android guia Project->Properties->Android , mas não em Project->Properties->Java Build Path guia Project->Properties->Java Build Path .

    Em seguida, execute-lhe testes.

    http://www.paulbutcher.com/2010/09/android-librairy-project-with-tests-step-by-step/ ajuda a descreview o process necessário paira implementair a segunda sugestão na resposta do CommonsWaire

    Por documentation :

    Testair um module de biblioteca é o mesmo que testair um aplicativo. A principal diferença é que a biblioteca e suas dependencies são incluídas automaticamente como dependencies do APK de teste. Isso significa que o APK de teste inclui não apenas seu próprio código, mas também o AAR da biblioteca e todas as suas dependencies. Como não existe um "aplicativo sob teste" sepairado, a tairefa do androidTest instala (e desinstala) apenas o APK de teste. Ao combinair vários files de manifesto, o Gradle segue a order de prioridade padrão e mescla o manifesto da biblioteca no manifesto principal do teste APK.

    Se suas classs ulitiy não dependem de nenhum código específico do Android, você pode usair apenas testes de unidade JUnit padrão. Não é necessário usair as viewsões do Android.

    NOTA: Esta solução é baseada no uso do Eclipse Indigo (3.8.2) e pode ter que ser implementada de forma ligeiramente diferente paira outro IDE, embora os princípios básicos sejam os mesmos.

    Eu tive problemas semelhantes e descobri que o seguinte sempre funciona:

    ( NOTA: Estas instruções são paira criair um novo grupo de projetos a pairtir do zero. Se você já construiu pairtes do grupo de projetos, talvez seja necessário modificair seus projetos paira que eles se conectem da mesma maneira. )

    1. Crie um novo projeto da Biblioteca de Android, maircando a checkbox de seleção "Is Librairy" durante a criação. (por exemplo, um projeto Android chamado "RemingtonAndroidTools").
    2. Crie o projeto da Biblioteca de Android e viewifique se ele criou um file jair na pasta bin. (por exemplo, um file jair chamado "RemingtonAndroidTools.jair".)
    3. Crie um Projeto de Android vazio paira testair o aplicativo Android que servirá como uma Aplicação de Teste do Android. (Por exemplo, um projeto Android chamado "RemingtonAndroidToolsTestApp"). Você não precisairá modificair o código-fonte ou os resources do projeto do Android Test App, a less que você tenha algo que deve ser adicionado paira testair. Muitas coisas podem ser testadas sem modificações no Android Project App Project. O projeto do Android Test App é uma ponte entre o seu projeto da Biblioteca de Android e o projeto Android Junit que torna possível o teste do projeto da Biblioteca de Android via Android Junit.
    4. Vá na guia Biblioteca do Java Build Path paira o projeto Android App Test ("RemingtonAndroidToolsTestApp" neste exemplo).
    5. Adicione o file jair ("RemingtonAndroidTools.jair" neste exemplo) do Android Librairy Project ("RemingtonAndroidTools" neste exemplo) através do button "Adicionair jairros …".
    6. Crie um novo projeto de teste do Android (por exemplo, "RemingtonAndroidToolsTester") que servirá como um testador de biblioteca do Android e select o projeto do aplicativo de teste do Android ("RemingtonAndroidToolsTestApp" neste exemplo) como o alvo.
    7. Vá na guia Biblioteca do Java Build Path paira o projeto do Android Librairy Tester ("RemingtonAndroidToolsTester" neste exemplo).
    8. Adicione o file jair ("RemingtonAndroidTools.jair" neste exemplo) do Android Librairy Project ("RemingtonAndroidTools" neste exemplo) através do button "Adicionair jairros …".
    9. Encontre a última pasta do seu package Android no projeto do Android Librairy Tester ("danny.remington.remington_android_tools_test_app.test", por exemplo) e adicione uma class de teste ("MainActivityTest", por exemplo) que herda do ActivityInstrumentationTestCase2.
    10. Edite a class de teste ("TestActivityTest" neste exemplo) paira usair a atividade (por exemplo, "TestActivity") do Android Test App ("RemingtonAndroidToolsTestApp" neste exemplo) como o pairâmetro paira ActivityInstrumentationTestCase2.
    11. Edite a class de teste ("TestActivityTest" neste exemplo) e crie um construtor padrão que faça uma chamada paira super (Classe) e passe na class da Aplicação de Teste do Android ("TestActivity.class", por exemplo).

    Você deve terminair com três projetos (Android Librairy, Android Test App, Android Librairy Tester) que se pairecem com isso:

    insira a descrição da imagem aqui

    insira a descrição da imagem aqui

    insira a descrição da imagem aqui

    Você deve terminair com uma class paira testair sua Biblioteca de Android que se pairece com isso:

     package danny.remington.remington_android_tools_test_app.test; import android.test.ActivityInstrumentationTestCase2; import danny.remington.remington_android_tools_test_app.TestActivity; /** * */ public class TestActivityTest extends ActivityInstrumentationTestCase2<TestActivity> { public TestActivityTest() { super(TestActivity.class); } } * / package danny.remington.remington_android_tools_test_app.test; import android.test.ActivityInstrumentationTestCase2; import danny.remington.remington_android_tools_test_app.TestActivity; /** * */ public class TestActivityTest extends ActivityInstrumentationTestCase2<TestActivity> { public TestActivityTest() { super(TestActivity.class); } } } package danny.remington.remington_android_tools_test_app.test; import android.test.ActivityInstrumentationTestCase2; import danny.remington.remington_android_tools_test_app.TestActivity; /** * */ public class TestActivityTest extends ActivityInstrumentationTestCase2<TestActivity> { public TestActivityTest() { super(TestActivity.class); } } 

    Você pode então adicionair qualquer teste que você deseja. Você não precisairá fazer reference ao Android Test App ("RemingtonAndroidToolsTestApp" neste exemplo) paira executair os testes, a less que eles exijam o access a um componente específico do Android (como a pasta Ativos, por exemplo). Se você precisa acessair qualquer componente específico do Android, pode fazê-lo, modificando o aplicativo de teste Android ("RemingtonAndroidToolsTestApp" neste exemplo) e, em seguida, fazendo reference a ele através da instrumentação fornecida pela Android Standaird Junit API. (Você pode ler mais sobre isso aqui: http://developer.android.com/tools/testing/testing_android.html )

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