O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Configurar projetos para o AndroidX Test

Para usar o AndroidX Test, é necessário incluir várias bibliotecas específicas de teste. Este guia explica como declarar essas bibliotecas nos arquivos do projeto do seu app e mostra como as bibliotecas do AndroidX Test são organizadas.

Adicionar bibliotecas do AndroidX Test

Para usar o AndroidX Test, é preciso modificar as dependências e o manifesto do caminho de classe do projeto do seu app no ambiente de desenvolvimento, conforme mostrado nas seções a seguir.

Adicionar dependências do Gradle

Para modificar as dependências do caminho de classe do projeto do seu app, siga estas etapas:

  1. Abra o arquivo build.gradle para seu app.
  2. Na seção repositories, verifique se o repositório Maven do Google é exibido:

        allprojects {
            repositories {
                jcenter()
                google()
            }
        }
  3. Para cada pacote do AndroidX Test que você quer usar, adicione o nome do pacote à seção dependencies. Por exemplo, para adicionar o pacote espresso-core, adicione as seguintes linhas:

        dependencies {
            ...
            androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
        }

    Atenção: o uso de dependências dinâmicas (por exemplo, espresso-core:3.1.0+) pode causar atualizações de versão inesperadas e incompatibilidades de regressão. Recomendamos que você especifique explicitamente um número de versão específico (por exemplo, espresso-core:3.1.0).

  4. Se o app criar testes que dependam de classes baseadas em JUnit, por exemplo, Assert e TestSuiteLoader, adicione as seguintes linhas na seção android do arquivo:
        android {
            ...
    
            // Gradle automatically adds 'android.test.runner' as a dependency.
            useLibrary 'android.test.runner'
    
            useLibrary 'android.test.base'
            useLibrary 'android.test.mock'
        }

    Observação: você só precisa incluir as bibliotecas que contenham as classes usadas no seu app. Para ver uma lista das classes que aparecem em cada biblioteca, consulte Bibliotecas baseadas em JUnit.

Adicionar declarações de manifesto

Para executar testes que dependem de classes baseadas em JUnit, adicione os elementos <uses-library> necessários ao manifesto do seu app de teste. Por exemplo, se você adicionar testes que dependem da biblioteca android.test.runner, adicione o seguinte elemento ao manifesto do app:

<!-- You don't need to include android:required="false" if your app's
         minSdkVersion is 28 or higher. -->
    <uses-library android:name="android.test.runner"
                  android:required="false" />
    

Para determinar a biblioteca que contém uma determinada classe baseada em JUnit, consulte Bibliotecas baseadas em JUnit.

Considerações ao segmentar o Android 9 ou versões mais recentes

As orientações apresentadas nesta seção só serão válidas se você estiver segmentando o Android 9 (API nível 28) ou posterior e se a versão mínima do SDK do app estiver definida como Android 9 (API nível 28) ou posterior.

A biblioteca android.test.runner depende implicitamente das bibliotecas android.test.base e android.test.mock. Se o app só usa classes de android.test.base ou android.test.mock, você pode incluir as bibliotecas sozinhas:

<!-- For both of these declarations, you don't need to include
         android:required="false" if your app's minSdkVersion is 28
         or higher. -->
    <uses-library android:name="android.test.base"
                  android:required="false" />
    <uses-library android:name="android.test.mock"
                  android:required="false" />
    

Lista de dependências do AndroidX Test

O AndroidX Test inclui várias dependências, conforme mostrado nas seções a seguir.

Dependências do Gradle

Estas dependências do Gradle estão disponíveis no AndroidX Test:

dependencies {
      // Core library
      androidTestImplementation 'androidx.test:core:1.0.0'

      // AndroidJUnitRunner and JUnit Rules
      androidTestImplementation 'androidx.test:runner:1.1.0'
      androidTestImplementation 'androidx.test:rules:1.1.0'

      // Assertions
      androidTestImplementation 'androidx.test.ext:junit:1.0.0'
      androidTestImplementation 'androidx.test.ext:truth:1.0.0'
      androidTestImplementation 'com.google.truth:truth:0.42'

      // Espresso dependencies
      androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
      androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.0'
      androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.0'
      androidTestImplementation 'androidx.test.espresso:espresso-accessibility:3.1.0'
      androidTestImplementation 'androidx.test.espresso:espresso-web:3.1.0'
      androidTestImplementation 'androidx.test.espresso.idling:idling-concurrent:3.1.0'

      // The following Espresso dependency can be either "implementation"
      // or "androidTestImplementation", depending on whether you want the
      // dependency to appear on your APK's compile classpath or the test APK
      // classpath.
      androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.1.0'
    }
    

Conforme discutido em Como adicionar dependências do Gradle de um repositório Maven, você pode adicionar essas dependências ao seu ambiente de desenvolvimento incluindo cada dependência no seu arquivo build.gradle do módulo.

Bibliotecas baseadas em JUnit

As listas desta seção mostram como a plataforma organiza classes do JUnit no Android 9 (API nível 28) e versões posteriores.

android.test.base

Esta biblioteca consiste nas seguintes classes, incluídas no pacote junit.framework:

A biblioteca também consiste nas seguintes classes, que tiveram o uso suspenso no Android 9 (API de nível 28):

pacote android.test

Pacote android.test.suitebuilder.annotation

Pacote com.android.internal.util

android.test.runner

Essa biblioteca consiste nas seguintes classes:

Pacote android.test

Pacote junit.runner

A biblioteca também consiste nas seguintes classes, que tiveram o uso suspenso no Android 9 (API de nível 28):

Pacote android.test

Pacote android.test.suitebuilder

android.test.mock

Esta biblioteca consiste nas seguintes classes, incluídas no pacote android.test.mock:

A biblioteca também consiste nas seguintes classes, que tiveram o uso suspenso no Android 9 (API de nível 28). Todas as classes estão localizadas no pacote android.test.mock: