Android服务测试

时间:2009-04-27 10:47:25

标签: android unit-testing service automated-tests

如何测试IBinder Service onBind对象的{{1}}对象?

1 个答案:

答案 0 :(得分:3)

根据您在上下文和服务之间使用的远程接口(在远程调用方案中)。 例如,您可以这样做:

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()上正确返回界面的存根。

我希望这可以提供帮助。