如何测试返回的对象?
最佳答案
这取决于您在上下文和服务之间使用的远程接口(在远程调用场景中)。
例如,您可以这样做:
IBinder service = this.bindService(new Intent(TestService.class.getName()));
assertNotNull(service);
assertTrue(service instanceof ITestServiceCall); //see if the service returns the correct interface
ITestServiceCall iTestServiceCall = ITestServiceCall.Stub.asInterface(service);
assertNotNull(iTestServiceCall);
iTestServiceCall.doSomething();
itestserviceCall是在aidl文件(itestserviceCall.aidl)中定义的接口。
但在此之前,必须确保服务在onbind()上正确返回接口的存根。
我希望这能有帮助。