我通过stackoverflow和google在一些代码中看到很多对ShadowApplication的引用,但我不知道它的作用。
我不知道我是否缺少一些文档资源,但我无法提供任何好的资源,javadoc api 也没有解释太多。
谁能提供有关 ShadowApplication 的更多信息,是否有更多资源,即培训、教程?
我敢肯定,除了 ShadowApplication 之外,我还缺少很多东西
我通过stackoverflow和google在一些代码中看到很多对ShadowApplication的引用,但我不知道它的作用。
我不知道我是否缺少一些文档资源,但我无法提供任何好的资源,javadoc api 也没有解释太多。
谁能提供有关 ShadowApplication 的更多信息,是否有更多资源,即培训、教程?
我敢肯定,除了 ShadowApplication 之外,我还缺少很多东西
为了禁止在 JVM 而不是 Dalvik VM 中运行 android 代码,Google 剥离了 android.jar 文件中的类,并将其所有方法体替换为:
抛出新的 RuntimeException("Stub!");
一般来说,Robolectric 使用带有视图和资源加载的阴影对象来解决这个问题。
查看此处的主题演讲和此 youtube 会话以了解更多详细信息。
我认为您应该查看Roboelectric的文档,看看它们是否解释了您不理解的概念。
从手册:
有时 Android 类不提供访问被测 Android 对象状态的方法。Robolectric.shadowOf() 方法提供对表示 Android 对象的影子实例的引用,允许测试断言在其他情况下不可用的状态。
当我查看 Roboelectric 的源代码并看到许多(如果不是全部)android 类的影子实现时,这对我来说很有意义,例如 Application(请参阅ShadowApplication)。