Quiero hacer una copia de seguridad de la base de datos de mi aplicación antes de reemplazarla con el dispositivo de prueba. Estoy obligado a utilizar Junit3 debido a las limitaciones de Android, y quiero implementar el comportamiento equivalente de @BeforeClass y @AfterClass.¿Cómo puedo obtener @BeforeClass y @AfterClass equivalente en Junit3?
ACTUALIZACIÓN: Ahora hay una herramienta (Junit4Android) para obtener apoyo para Junit4 en Android. Es un poco complicado, pero debería funcionar.
Para lograr el equivalente de @BeforeClass, he estado usando una variable estática e inicializándola durante la primera ejecución como esta, pero necesito poder restaurar la base de datos después de ejecutar todas las pruebas. No puedo pensar en una manera de detectar cuando la última prueba se ha quedado
public class MyTest extends ActivityInstrumentationTestCase2<MainActivity> {
private static boolean firstRun = true;
@Override
protected void setUp() {
if(firstRun) {
firstRun = false;
setUpDatabaseFixture();
}
}
...
}
Pero en sus pruebas de casos será en función de unos a otros y estaría esperando la base de datos en un estado particular, dando a entender que no son verdaderas pruebas unitarias. Deberías una base de datos simulada. –
Estas son pruebas de aceptación, y ciertamente no son pruebas unitarias. Estos están completamente integrados en la plataforma, impulsados por una herramienta de Android llamada Robotium. –
Vea también http://stackoverflow.com/questions/3023091/does-junit-3-have-something-analogous-to-beforeclass – Vadzim