我正在尝试在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。