Контекст Android в TestProject
Я пытался достичь сценария автоматизации тестирования с использованием JUnit Framework для Android. Я использовал CountDownLatch, поскольку хотел включить один асинхронный сценарий.
Я написал тестовый файл, используя ServiceTestCase для моей службы. Служба автоматически запускает асинхронную операцию с использованием потока. После выполнения асинхронной операции я получаю результат. Этот результат я пытаюсь утверждать. Теперь, если операция не удалась, я пытаюсь снова выполнить асинхронную операцию. Теперь, что происходит, если операция не удалась, я пытаюсь повторить операцию снова, в этом случае я получаю контекст как нулевой.
Это то, что когда я запускаю службу из тестового случая, через некоторое время объект контекста становится нулевым? Когда это мусор?
Служба, которую я использую, является удаленной службой. Это создает проблему?
public class MyServiceTest extends ServiceTestCase<MyService>{
final CountDownLatch signal = new CountDownLatch(1);
Solo solo;
public MyServiceTest() {
super(MyService.class);
}
public void testEndToEnd(){
Intent intent = new Intent(MyService.class.getName());
startService(intent);
try {
signal.await(60, TimeUnit.SECONDS);
}
catch(InterruptedException e) {
e.printStackTrace();
}
//want to put some assert statement
}
}
В onCreate службы я создаю экземпляр класса Network, который будет выполнять тяжелую работу в сети. если операция не удалась, отправьте широковещательное уведомление. Теперь я зарегистрировал один BroadcastReceiver, который получит уведомление и перезапустит работу сети. В этом broadcastReciever мне нужен контекст трансляции, который приходит в ноль..