Android Test Project (test.apk) - Application Project (app.apk) unit Android (Activity, Service ..), Application Project, , unit-testing Activity Service, app.apk.
MessengerService (Messenger, IncomingHandler ..) ServiceTestCase Test. MessengerService CoreService.java .
ServiceConnection Activity Service, ServiceTestCase (, unit-test, , ), ServiceConnection, , ServiceConnection, Messenger, , :
public void onServiceConnected(ComponentName className, IBinder service) {
mService = new Messenger(service);
}
, ServiceTestCase.startService(), ServiceTestCase.bindService() ( ) IBinder, Messenger .
, ImcomingHandler.handleMessage() impelementation CoreService.java :
... ...
switch (msg.what) {
case MSG_SAY_HELLO:
msgReceived = true;
break;
... ...
ServiceTestCase:
... ...
IBinder messengerBinder = null;
@Override
public void setUp() throws Exception {
super.setUp();
messengerBinder = bindService(new Intent(this.getContext(), CoreService.class));
Log.d(TAG, "Service started and bound");
}
public void testSendMessage() {
Messenger messenger = new Messenger(messengerBinder);
Message msg = Message.obtain(null, MessengerService.MSG_SAY_HELLO, 0, 0);
messenger.send(msg);
... ...
}
... ...
Activity Service, ServiceTestCase . , ActivityInstrumentationTestCase2 ( CoreService, .