2012-05-25 2 views
1

У меня возникли проблемы с моими испытаниями Robotium. У меня есть 3 тестовых класса, каждый из которых имеет от 2 до 3 методов. Все они тестируют различные действия в жизненном цикле Android. Проблема, которую я нахожу, заключается в том, что, когда тест A нажимает кнопку в A, намерение вызывается для следующего действия, тест проходит, а затем заканчивается. Затем тест B пытается начать действие. Тогда я заметил, что активность из теста A все еще жива. Я попытался использовать это, чтобы помочь решить эту проблему. Идея заключалась в том, что устройство будет ждать, пока активность не будет бездействовать, тогда я прекращу любые неактивные действия. Тогда я бы закончил все открытые и оставшиеся.Robotium Activity Leak Причинение неправильной деятельности для других тестов

getInstrumentation().waitForIdleSync(); 
solo.finishInactiveActivities(); 
solo.finishOpenedActivities(); 

Я не уверен, что это 100% лучший способ позаботиться об этой проблеме. Я заметил, что он работает 80% времени, но я все еще получаю некоторые утечки.

ответ

1

Я решил проблему, используя solo.goBack(); вызов функции. Это убьет все открытые действия, чтобы во время тестирования не было утечки. Кроме того, я использовал код, который я поставил выше, как двойное покрытие. После повторения этих тестов на многочисленных устройствах и сценариях это, похоже, проходит.

Смежные вопросы