Android ServiceTestCase一直失败?

Android ServiceTestCase一直失败?,android,junit,servicetestcase,Android,Junit,Servicetestcase,我是Android Studio的新手,我正在尝试测试GPS服务。我实际上使用了@dtmilano在另一篇帖子中发现的一个例子,我没有发现任何错误,但是测试失败了。另一篇帖子提到在测试中启动服务后添加thread.sleep,但仍然失败。有人能告诉我我错过了什么吗 这是我使用的示例: 像ActivityInstrumentationTestCase2或ServiceTestCase这样的测试用例是 不推荐使用ActivityTestRule或ServiceTestRule 似乎他们忘记了更新实

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

这是我使用的示例:

像ActivityInstrumentationTestCase2或ServiceTestCase这样的测试用例是 不推荐使用ActivityTestRule或ServiceTestRule


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

调试后,我发现getContext为null,所以我猜为什么我的意图没有启动?我尝试创建一个模拟上下文,见下文final String prefix=test;MockContentResolver解析器=新的MockContentResolver;RenamingDelegatingContext目标=新建RenamingDelegatingContext新建MockContext,getContext,前缀;IsolatedContext newContext=新的IsolatedContextresolver,目标;即使此上下文不是null,测试仍然失败。
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);
    }

}