Dee*_*ary 33 android junit4 mockito robolectric
这是我第一次在Android中编写单元测试用例.
所以我搜索了很多东西.
所以我对Robolectric和Mokito有些怀疑.
我已经在寻找Mokito和Robolectric之间的区别,但没有得到任何正确的答案.
请建议.
Jah*_*old 42
它们的用法略有不同,我倾向于在我的项目中使用它们.
的Mockito
用于制造的嘲笑你的类.
当您测试特定的类时,您可以使用Mockito模拟其所有依赖项.
在可能的情况下,大多数测试应该使用mockito.为了实现这一点,大多数人将代码分解为MVP等,其中业务逻辑与View逻辑分离.这样,您的业务逻辑(Presenter)就不具备Android库的知识(或依赖关系),也不需要对它们进行模拟.
Robolectric
是一个包含许多Android类模拟的库.
在运行测试时,Robolectric测试运行器会注入这些"阴影对象"来代替实际的Android类.这使得测试可以在JVM上运行而无需启动Android实例.
当使用MVP时,View层往往由Activity/Fragment实现,这是你可以使用Robolectric来模拟它们的地方.
笔记
仅在必要时使用Robolectric.它基本上重新实现了Android框架的一部分,但并不总是以完全相同的方式实现.
您可能还需要其他库,例如PowerMock.这允许模拟诸如Math之类的静态类,或者可以用于模拟静态Android类,例如TextUtils.
两者都与JUnit一起使用
Eri*_*Liu 12
单独Mockito可以涵盖大多数情况.
但是,Robolectric还可以在Android组件上提供有限的操作,例如单元测试中的 Activity或Fragment (不是仪器测试,不依赖于Android SDK),它不需要任何仿真器或设备,并且比仪器测试快得多.
我的建议:使用Mockito进行单元测试,使用Espresso进行UI测试,因为它们是Android的半官方测试框架.
如果Android SDK存在某些依赖关系,请在单元测试中添加Robolectric.
| 归档时间: |
|
| 查看次数: |
7174 次 |
| 最近记录: |