Android ServiceTestCase一直都失败了吗?

时间:2015-05-24 05:59:44

标签: android junit servicetestcase

我是Android Studio新手,我正在尝试测试GPS服务。我实际上使用了我在@dtmilano的另一个帖子中找到的一个例子我没有收到任何错误,但是测试失败了。另一个帖子提到在测试中启动服务后添加thread.sleep(),但它仍然失败。有人可以告诉我我错过了什么吗?

这是我使用的例子: ServiceTestCase<T>.getService?

import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.test.MoreAsserts;
import android.test.ServiceTestCase;


public class GPSServiceTest extends ServiceTestCase<GPSService> {


    public GPSServiceTest() {
        super(GPSService.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }


    public void testOnStartCommand() throws Exception {
        Intent startIntent = new Intent();
        startIntent.setClass(getContext(), GPSService.class);
        startService(startIntent);
        Thread.sleep(10 * 1000);
        assertNotNull(getService());
    }

    public void testBindable() {
        Intent startIntent = new Intent();
        startIntent.setClass(getContext(), GPSService.class);
        IBinder service = bindService(startIntent);
        assertNotNull(service);
    }

}

1 个答案:

答案 0 :(得分:0)

  

ActivityInstrumentationTestCase2或ServiceTestCase等测试用例   不赞成使用ActivityTestRule或ServiceTestRule。

including by Greasemonkey itself

似乎他们忘了更新实际文档。