1

我是 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);
    }

}
4

1 回答 1

0

像 ActivityInstrumentationTestCase2 或 ServiceTestCase 这样的测试用例已被弃用,取而代之的是 ActivityTestRule 或 ServiceTestRule。

ATSL 链接

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

于 2016-06-03T22:13:09.313 回答