如何测试 IntentService Android?

7
如何在android中测试一个IntentService而不使用已废弃的ServiceTestCase?
从ServiceTestCase的文档中可以看到:
这个类在API 24中被弃用。请使用ServiceTestRule。新测试应该使用Android Testing Support Library编写。
但是,ServiceTestRule的文档说它不支持IntentService:
注意:此规则不支持IntentService,因为当onHandleIntent(android.content.Intent)完成所有未完成的命令时,它会自动销毁。所以不能保证及时建立成功的连接。
那么我该如何测试IntentService?
1个回答

5
在Android文档中的服务测试页面中提到(强调我的):

注意:ServiceTestRule类不支持测试IntentService对象。如果需要测试IntentService对象,应该将逻辑封装在单独的类中,并创建相应的单元测试。

因此,官方答案似乎是“使用单元测试代替”。但是,ServiceTestCase被弃用并不意味着您不能继续使用它--只是不鼓励这样做。如果使用弃用的接口是实现目标的唯一(或最有效)方法,则应继续使用它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接