当运行一组大型测试套件时,我注意到我的一个Android服务不再是单例。Android服务应该是单例的,但当使用ServiceTestCase时,我的引用计数超过了1(在onCreate中递增,在onDestroy中递减)。
从测试用例中调用startService或bindService应该导致第二个onBind或onStartCommand,但绝不能在第一个onDestroy之前导致第二个onCreate。
这是因为单元测试绕过了Zygote吗?如果是这样,我该如何解决?
这是因为单元测试绕过了Zygote吗?如果是这样,我该如何解决?
onCreate()
可能会在配置更改时被多次调用。但不用担心 -Service
作为单例正在工作 :) - alex