Контекст Android в TestProject - PullRequest
2 голосов
/ 30 ноября 2011

Я пытался добиться сценария автоматизации тестирования с использованием 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 мне нужен широковещательный контекст, который становится нулевым ..

...