Android – Compartilhar código entre teste unit e instrumental ( Sharing code between unit tests and instrumentation tests on Android )

android_testing-1

Suponhamos que você tenha uma aplicação android com uma serie de testes. Alguns deles são testes unitários (unit tests), localizados em: src/test, e testes instrumentais (intrumentation tests), localizados em: src/androidTest.

O problema encontrado é que muitas vezes temos códigos que poderiam ser compartilhados entre esses testes, mas não temos como fazer isso pois estão em pastas diferentes, e não seria adequado inserir esses códigos auxiliares no src/main.

A solução encontrada é acrescentar um novo pacote de testes que seja compartilhado entre o src/test e o src/androidTest, para isso vamos criar um src/sharedTest e configurar o sourceSets do test e androidTest para visualizar o sheredTest.

Para isso primeiramente vamos criar o novo pacote de testes: src/sharedTest/java/{pakage_do_projeto}
Obs: Importante criar o package do projeto para assimilar com os outros testes.

Agora basta configurar o build.gradle da seguinte maneira:

android {
  sourceSets {
    String sharedTestDir = 'src/sharedTest/java'
    test {
      java.srcDir sharedTestDir
    }
    androidTest {
      java.srcDir sharedTestDir
    }
  }
}

Pronto, agora o test e o androidTest conseguem utilizar recursos compartilhados do sharedTest.

Fontes:
https://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/
https://developer.android.com/training/testing/fundamentals

Help DEV – Analista desenvolvedor Java / Android
https://helpdev.com.br/zarelli

Android – Compartilhar código entre teste unit e instrumental ( Sharing code between unit tests and instrumentation tests on Android )

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo