TestProject中的Android上下文

时间:2011-11-30 10:03:03

标签: android testing junit servicetestcase

我正在尝试使用Android的JUnit Framework实现自动化测试场景。我使用CountDownLatch,因为我想包含一个异步场景。

我已经使用ServiceTestCase为我的服务编写了一个测试用例文件。该服务使用线程自动启动异步操作。执行异步操作后,我得到了结果。这个结果我试图断言。现在,如果操作不成功,我尝试再次执行异步操作。现在发生的是if操作不成功我尝试再次重做操作,在这种情况下我将上下文设为null。

当我从testcase启动服务时,一段时间后上下文对象变为null?什么时候收集垃圾?

我使用的服务是远程服务。它是否会产生问题?

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 of service中,我实例化一个Network类,它将进行繁重的网络操作。如果操作失败,则发送广播通知。现在我已经注册了一个BroadcastReceiver,它将接收通知并重启网络操作。在这个broadcastReciever中,我需要广播上下文,它将变为空...

0 个答案:

没有答案