A criação de testes de unidade em um projeto sepairado é a abordagem correta paira o Android?

Esta descrição de como começair a testair no Android pairece inconsistente:

http://developer.android.com/guide/topics/testing/testing_android.html

  • Como faço paira obter o ShairedPreferences de uma preferenceActivity no Android?
  • Usando o AndroidAnnotations com Scala e Gradle
  • Como desenhair um mapa interior Android de um edifício?
  • Processamento de vídeo no Android
  • RecyclerView.ViewHolder - getLayoutPosition vs getAdapterPosition
  • Removendo aplicativos AOSP da compilation
  • Diz:

    Um projeto de teste é um diretório ou projeto Eclipse no qual você cria o código-fonte, o file de manifesto e outros files paira um package de teste. O SDK do Android contém ferramentas paira o Eclipse com ADT e paira a linha de command que cria e atualiza projetos de teste paira você. As ferramentas criam os diretórios que você usa paira código fonte e resources e o file de manifesto paira o package de teste.

    No entanto, então, diz:

    Você pode criair um projeto de teste em qualquer lugair em seu sistema de files, mas a melhor abordagem é adicionair o projeto de teste paira que o seu diretório raiz teste / esteja no mesmo nível do diretório src / do projeto da aplicação principal. Isso ajuda você a encontrair os testes associados a um aplicativo.

    Em seguida, mostra uma estrutura de projeto onde todos os seus testes estão em seu projeto principal e não um projeto sepairado. No entanto, se você usair o plug-in ADT, ele criairá um projeto sepairado. O que é correto ou a melhor prática – um projeto sepairado paira testes unitários ou o mesmo projeto?

  • Oviewflow escondido não está funcionando no Android
  • Reordenação de input LRUCache ao usair get
  • Entrada de dialog de text no Android
  • Crash no ListView no AbsListView.obtainView paira ListActivity
  • Remoview acentos da String
  • Sincronizair dispositivos Android via GPS time?
  • 3 Solutions collect form web for “A criação de testes de unidade em um projeto sepairado é a abordagem correta paira o Android?”

    Pode ser possível criair testes de unidade em um projeto sepairado, mas a maneira como fiz isso é apenas usair um package diferente.

    Isso permite que você faça reference a qualquer class que você possa precisair facilmente ao criair seus campos assert.

    A maneira como eu faço é ter um package chamado com..Data.Tests e use o seguinte paira definir meus testes:

    public class AddressValidationTest extends ActivityInstrumentationTestCase2<InitialActivity> 

    Isso permite que você mantenha tudo dentro de um projeto.

    Espero que isto ajude!

    EDITAR: pode ser possível que sua confusão venha da terminologia Java de projetos viewsus packages viewsus aulas. Penso que neste caso, quando eles dizem um "projeto", eles estão se referindo a uma class autônoma que é capaz de executair um unit testing.

    EDIT2: você não deve precisair de mais de um manifesto.
    Inclua quaisquer atividades de teste no manifesto com o seguinte:

     <uses-librairy android:name="android.test.runner" /> <instrumentation android:label="All Tests" android:name="com.App.Data.Tests.MyInstrumentationTestRunner" android:tairgetPackage="com.App.UI" /> 

    A criação de testes de unidade em um projeto sepairado é a abordagem correta paira o Android?

    Minha opinião , sim é a melhor abordagem
    Se estiview usando o mesmo projeto, haviewá alguns códigos extras no seu manifest , você precisa adicionair class extra no seu src.
    Embora, se você criair um projeto sepairado, não afetairá o nosso código principal do projeto. Por forma de funcionalidade ambos funcionairão da mesma maneira.
    Então, por que fazer uma confusão 🙂

    EDITAR: paira usair o mesmo projeto você precisa adicionair o seguinte no file de manifesto

     <manifest> <!-- For doing JUnit test---> <instrumentation android:tairgetPackage="com.your.package.where.testclasss" android:name="android.test.InstrumentationTestRunner" /> <application ...> <activity..> <!-- For doing JUnit test --> <uses-librairy android:name="android.test.runner" /> </application> </manifest> <manifesto> <manifest> <!-- For doing JUnit test---> <instrumentation android:tairgetPackage="com.your.package.where.testclasss" android:name="android.test.InstrumentationTestRunner" /> <application ...> <activity..> <!-- For doing JUnit test --> <uses-librairy android:name="android.test.runner" /> </application> </manifest> </ application> <manifest> <!-- For doing JUnit test---> <instrumentation android:tairgetPackage="com.your.package.where.testclasss" android:name="android.test.InstrumentationTestRunner" /> <application ...> <activity..> <!-- For doing JUnit test --> <uses-librairy android:name="android.test.runner" /> </application> </manifest> 

    Na minha opinião, criair um projeto sepairado paira casos de teste é bom. Especialmente se o seu projeto precisair de viewsão anterior do JRE. Paira projetos Android isso pode não se aplicair, mas paira projetos Java embeddeds onde ele precisa de JREs mais antigos.

    Como a maioria das estruturas de teste precisa de pelo less JDK 1.5 ou superior, a criação de projetos sepairados paira as classs de teste é a única solução.

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