Crearemos un nuevo proyecto en Android Studio, File > New > New Project… con el nombre TestingExample y dejando las demás opciones por defecto.
Antes de empezar a escribir test unitarios debemos comprobar que tenemos creado el directorio src/test/java
viendo el proyecto con la perspectiva Project, aquí se incluirán los test unitarios. Bajo la ruta src/androidTest/java
se crearán los test de instrumentación, que requieren ser ejecutados en un terminal físico o en un emulador.
Comprobamos también que build.gradle Module:app
tiene las siguientes dependencias, si no es así, debemos incluirlas y sincronizar Gradle:
1
2
3
4
5
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
testCompile 'junit:junit:4.12'
}
Una vez configurado el entorno, ya podemos empezar a escribir nuestros test, pero antes necesitamos tener alguna clase que testear, por lo que vamos a crear la clase Concatenator
en src/java
Esta clase tendrá un método que servirá para concatenar dos textos, por el momento este método devolverá null.
1
2
3
4
5
6
public class Concatenator {
public String concatenate(String firstText, String secondText) {
return null;
}
}
Ahora crearemos nuestra clase de test haciendo click sobre la clase que acabamos de escribir y pulsando ctrl+shift+t
o haciendo click derecho sobre el editor de texto y seleccionando Go To > Test > Create New Test…, esto nos permitirá crear una nueva clase de test para Concatenator
. En esta clase de test escribiremos un test que pruebe la funcionalidad del método concatenate()
.
Elegimos la ruta de destino de nuestra nueva clase de test: app/src/test/java/com/example/testingexample/
Nuestra clase de test ConcatenatorTest
quedará de la siguiente forma:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import org.junit.Test;
import static org.junit.Assert.*;
public class ConcatenatorTest {
private Concatenator mConcatenator;
@Before
public void setUp() throws Exception {
mConcatenator = new Concatenator();
}
@Test
public void testConcatenate() throws Exception {
String result = mConcatenator.concatenate("Hello", " World");
assertEquals("Hello World", result);
}
}
Para ejecutar nuestro test hacemos click derecho sobre CalculatorTest
y seleccionamos Run > CalculatorTest, nuestro test fallará ya que todavía nos queda por implementar la lógica del método concatenate()
:
1
2
3
4
5
6
public class Concatenator {
public String concatenate(String firstText, String secondText) {
return firstText + secondText;
}
}
Ahora que ya tenemos implementado nuestro método, volvemos a ejecutar nuestro test y comprobamos que que el resultado es correcto.