我正在尝试在 android 上构建一个有效的 junit 测试套件。
因为我是 Junit 的新手,所以我不知道如何使用 ServiceTestCase 类。
我不知道如何让 getService() 方法工作。它曾经返回我 null 。所以我决定通过 startService 启动它。这没用。
请你帮助我好吗 ?
谢谢
我正在尝试在 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。
接受的答案不再起作用。
像 ActivityInstrumentationTestCase2 或 ServiceTestCase 这样的测试用例已被弃用,取而代之的是 ActivityTestRule 或 ServiceTestRule。
他们似乎忘记更新实际文档。