Изключване и рестартиране на приложение в тестови дейности в тестов пакет

Използвам Robotium, за да напиша тестов случай в приложение за Android. Имам две тестови дейности. В първата процедура за проверка на тестовата дейност влезте в приложението и след това прекратете приложението.

public static Test suite() {
               TestSuite suite = new TestSuite(AllTests.class.getName());
               //$JUnit-BEGIN$

               suite.addTestSuite(LoginActivityTest.class);

               suite.addTestSuite(MainScreenActivityTest.class);
               //$JUnit-END$
               return suite;
}

Но поради прекъсването в първия тест, вторият тест ще се провали. Какво мога да направя, за да рестартирам приложението в тестовия пакет?


person Ron D.    schedule 09.02.2012    source източник
comment
Можете ли да изясните какво имате предвид под прекратяване на приложението? Искате да кажете, че спирате текущата дейност?   -  person Maks    schedule 04.04.2012


Отговори (1)


Всеки тестов случай трябва да бъде независимо изпълнен. Те не могат да разчитат на предишен успех или грешка. Това е общ съвет за всички модулни тестове.

Можете да използвате setup() и tearDown() с robotium (поне от версия 3.0 нататък), за да изпълните код преди и след всеки тестов случай, без значение дали тестовият случай е неуспешен.

setup() и tearDown() ще бъдат извиквани преди всеки тестов случай, така че да не свързвате тестовите случаи един с друг.
Пример е показан в Урок "Първи стъпки" (pdf).

person guerda    schedule 09.02.2012
comment
Благодаря @furtwart. Не съм сигурен, че разбирате напълно въпроса ми. Всяка тестова дейност има своя собствена настройка и премахване, но когато LoginActivityTes приключи, приложението се затваря напълно и MainScreenActivityTest изобщо няма да работи. Как да накарам приложението да стартира отново? - person Ron D.; 09.02.2012
comment
Добре, пропуснах тази част, благодаря за допълнението. Но въпреки това сте свързали тестовите си случаи твърде тясно. Може да не зависят един от друг. Как да рестартирам приложението е извън моите познания. - person guerda; 09.02.2012