我有 A 类扩展 IntentService 并处理一些工作。
Class A extend IntentService {
onHandleIntent(Intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
Messenger messenger = (Messenger) extras.get(NetworkConstant.MESSENGER_KEY);
Message msg = Message.obtain();
try {
messenger.send(msg);
}
catch (RemoteException e) {
e.printStackTrace();
}
}
}
}
现在我有另一个 B 类
Class B {
private void startNetworkService(Listener l) {
Messenger messenger = new Messenger(handler);
Intent networkServiceIntent = new Intent(context, A.class);
context.startService(networkServiceIntent);
}
/** The handler. */
private Handler handler = new Handler() {
Listener.onSuccess();
}
}
现在我正在创建 testCase 调用 startNetworkService() 方法,并且我已经通过侦听器接收 Sucess 的回调。
Class Test extend AndroidTestCase implement Listener{
testService(){
B b = new b();
b.startNetworkService(this);
}
onSucess(){
never got call back here.
}
}
问题:- 我从来没有收到 Success 方法的回调。 如果我使用
mSem = new Semaphore(0);
mSem.acquire();
等待测试。它陷入困境并且测试用例无法继续。你能帮我如何测试使用服务调用其他类的类吗