离线下载
PDF版 ePub版

引路蜂 · 更新于 2018-09-24 12:00:43

测试 Service

Android 测试框架也提供对 Service 测试的支持,基本类为 ServiceTestCase,因为 Service 类通常假定和它是和 Client 是分开使用的,因此你可以无需使用 Instrumentation 来测试 Service。

当你设计一个 Service 时,你应该考虑测试用例中如何检查 Service 的当前状态,比如你在 onCreate ,onStartCommand 中启动一个 Service,一般没有一个全局变量来表示 Service 是否成功,你可能需要自己定义一个全局变量用于测试用例中。

ServiceTestCase 中提供 getService() 可以取得当前被测试的 Service对象。

ServiceTestCase 为 AndroidTestCase 的子类,因此可以测试和 Permission 相关的功能,并提供 Mock 的Application 和 Context 对象为测试 Service提供了一个隔离的测试环境。

后面提供具体例子。