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