如何测试IntentService android?

Tim*_*nin 6 android unit-testing intentservice android-testing android-espresso

如何IntentService在不使用弃用的情况下在android中测试ServiceTestCase

ServiceTestCase的文档:

此类在API级别24中已弃用.请改用ServiceTestRule.应使用Android测试支持库编写新测试.

ServiceTestRule文档说它不支持IntentServices:

注意:此规则不支持IntentService,因为当onHandleIntent(android.content.Intent)完成所有未完成的命令时,它会自动销毁.因此无法保证及时建立成功的连接.

我该如何测试IntentService呢?

alz*_*zee 5

android 文档中的服务测试页面说(强调我的):

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

所以官方的答案似乎是“改用单元测试”。但是,不推荐使用 ServiceTestCase 并不意味着您不能继续使用它——只是不鼓励这样做。如果使用已弃用的接口是实现目标的唯一(或最有效)方式,那么您应该继续使用它。