单元测试 Android 服务

Unit Test Android Service

我正在尝试使用 "ServiceTestCase" 框架测试我的服务,如下所示:

@RunWith(AndroidJUnit4.class)
public class testTts extends ServiceTestCase<TtsLbEngine> {

    public testTts() {
        super(TtsLbEngine.class);
    }

    @Before
    public void setUp() throws Exception {
        super.setUp();
    }

    @After
    public void tearDown() throws Exception {
        super.tearDown();
    }


    @Test
    public void testOnCreate() throws Exception {
        Intent intent = new Intent(getSystemContext(), TtsLbEngine.class);
        intent.setClass(getSystemContext(), TtsLbEngine.class);
        startService(intent);
        assertNotNull(getService());

    }
}

问题是服务是Null。 能否请教一下。

我设法解决了这个问题。 请在下方找到操作方法:

public class testService extends ServiceTestCase<myService> {


    public testService() {
        super(myService.class);
    }

    @Before
    public void setUp() throws Exception {
        super.setUp();
    }

    @After
    public void tearDown() throws Exception {
        super.tearDown();
    }


    @Test
    public void testService() throws Exception {
        Intent startIntent = new Intent();

        startIntent.setClass(getContext(), myService.class);
        startService(startIntent);

        myService s = getService();

        assertNull(s);
    }
}