we are actually developping an audio service (in the android sense of the term) and we have quite of lot of tests to cover many aspects of our APIs. But we are actually wondering for good things to do to test a service efficiently.
So this question is quite open: how would you test an android service ?
We are currently using JUnit + EasyMock on test both on real devices and Continous Integration server (via an emulator).
Any suggestion is welcome, thx in advance.
PS : we have been searching SOF for similar threads but we just found a few cues in those depleted threads :
Instrumentation Test case how to bind service from activity
Android Service Testing
Why is an Android Service not singleton when testing?
If you wanna test service's method you have to start this service. You can check if service is running:
ReplyDeleteprivate boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.example.MyService".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
And start it when necessary.