我正在尝试在android上构建有效的junit测试套件。

由于我是Junit的新手,所以我不知道如何使用ServiceTestCase类。

我不知道如何使getService()方法正常工作。它曾经使我返回null。因此,我决定通过startService启动它。这没用。

请你帮助我好吗 ?

谢谢

最佳答案

这就是您需要测试服务的条件

public class MyServiceTests extends ServiceTestCase<MyService> {

private static final String TAG = "MyServiceTests";

public MyServiceTests() {
    super(MyService.class);
}

/**
 * Test basic startup/shutdown of Service
 */
@SmallTest
public void testStartable() {
    Intent startIntent = new Intent();
    startIntent.setClass(getContext(), MyService.class);
    startService(startIntent);
    assertNotNull(getService());
}

/**
 * Test binding to service
 */
@MediumTest
public void testBindable() {
    Intent startIntent = new Intent();
    startIntent.setClass(getContext(), MyService.class);
    IBinder service = bindService(startIntent);
    assertNotNull(service);
}
}

我写了一些有关Android测试和测试驱动开发的文章,您可能会发现它们有用,请检查http://dtmilano.blogspot.com/search/label/test%20driven%20development

10-08 07:13