我有一个测试项目,我的简单测试用例扩展AndroidTestCase
类:
public class MyTest extends AndroidTestCase{
private Context mContext;
public MyTest(){
super();
}
@Override
public void setUp() throws Exception {
super.setUp();
mContext = getContext();
//Start my service
mContext.startService(new Intent(mContext, MyService.class));
}
@Override
protected void runTest() {
...
}
...
}
在setUp()
我上面的测试用例的回调中,我开始了MyService
.
MyService 也已在我的测试项目的AndroidManifest.xml中声明:
<service
android:name="com.my.app.services.MyService"/>
我的服务.java:
public class MyService extends Service {
@Override
public void onCreate() {
super.onCreate();
Log.d("MyService", "onCreate()");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
Log.d("MyService", "onStartCommand");
}
...
}
但是在我运行我的测试用例之后,我从日志中注意到既 onCreate()
没有 onStartCommand()
调用也没有调用回调MyService
。
为什么?我错过了适用于 Android 测试框架中的服务使用的任何特殊规则吗?