在单元测试中使用PendingIntent来测试服务

时间:2011-06-14 09:14:13

标签: android unit-testing service android-pendingintent servicetestcase

我有IntentService(实际上是WakefulIntentService!),它使用添加到用于启动的意图的PendingIntent将请求(即来自活动)返回给请求服务。之前我使用ResultReceiver但发现如果设备进入休眠状态或在处理请求时旋转它会崩溃。

作为此服务的单元测试我正在使用ServiceTestCase<Service>类。使用ResultReceiver时工作正常,因为它可以添加到传递给服务的意图中。但是,ServiceTestCase不包含活动的createPendingResult方法。

因此我想知道测试这项服务的最佳方法是什么。我应该使用ActivityInstrumentationTestCase2还是ActivityUnitTestCase进行单元测试?或者更好的想法?

顺便说一下,我在Android Dev中读到了。服务以下指南章节:

  

“但是,如果您希望服务返回结果,那么启动服务的客户端可以为广播创建PendingIntent(使用getBroadcast())并将其传递给启动服务的Intent中的服务然后,该服务可以使用广播来传递结果。“

对于活动本地的IntentService使用广播听起来对我来说太过分了,但我会很高兴听到别人的意见。

0 个答案:

没有答案