ers*_*kin 6 java junit android unit-testing robolectric
我是手机上的单元测试新手.我想为Android移动应用程序编写JUnit测试.我遇到了在IDE中测试的Robolectric(对我来说,Eclipse)
但我真的不明白Robolectric的Shadow对象.我应该用它们作为嘲笑吗?ShadowActivity等Shadow对象的用途是什么?
例如,我在几乎每个Activity类的onCreate方法中都有Crashlytics,Google Analytics代码.当Robolectric遇到这些线时会抛出错误.ShadowActivity可以解决这些类型的问题吗?
对不起,但是,正如我所说,我对Unit-Testing和Robolectric文档的新手对初学者没什么帮助.
Eri*_*ass 13
但我真的不明白Robolectric的Shadow对象.我应该用它们作为嘲笑吗?ShadowActivity等Shadow对象的用途是什么?
阴影有点像嘲笑或存根,但不完全相同.存在阴影以添加可在测试中用于检查底层Android对象的状态的其他方法.例如,许多Android对象具有某些值的设置器,但没有getter.我们可以在阴影中添加getter并在test中使用它们来断言底层对象.
例如,我在几乎每个Activity类的onCreate方法中都有Crashlytics,Google Analytics代码.当Robolectric遇到这些线时会抛出错误.ShadowActivity可以解决这些类型的问题吗?
可能不是.为此,您应该使用依赖注入将错误版本的Crashlytics或GoogleAnalytics注入您的测试中.
Robolectric的目的是伪造足够的Android平台,允许您在桌面JVM上运行测试 - 而不是模拟Android.仍然可以使用良好的工程实践,例如依赖注入或模拟.
对不起,但是,正如我所说,我对Unit-Testing和Robolectric文档的新手对初学者没什么帮助.
我同意.我们正努力让它变得更好,但我们还有很长的路要走.
| 归档时间: |
|
| 查看次数: |
2712 次 |
| 最近记录: |