微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Robotium与Mockito或Easy Mock

我是 Android测试的新手,如果你们中的一些人可以帮助我,我真的很感激.
我使用robotium作为自动化测试框架(到目前为止一直很好),但我不知道我如何使用mockito或Easy Mock为我的测试添加一些模拟.我真的很困惑.有人能给我一些关于如何实现这个目标的简单例子吗?

提前致谢

解决方法

简答/意见

我不建议使用Mockito进行Android单元测试. Android环境感觉太复杂,无法模拟. Android单元测试的基本方法是在模拟器中运行它们.因此,许多容器类已经存在并且不需要被模拟.

答案很长

我对Android单元测试的世界也相对较新.我一直在编写服务器端单元测试,并发现Mockito是简化单元测试的最佳工具之一. Mockito非常有助于模拟复杂对象的行为.这有助于打破您的测试代码可能对容器(例如servlet容器或Osgi容器)或其他复杂协作者(例如数据库连接类)的依赖关系.

当容器/协作者具有定义良好的接口时,这种模拟效果很好.

几个月前,我决定尝试使用Android开发的Mockito.我发现Mockito确实有用,如果你有至少1.9.5和dexmaker. Dexmaker为Android的Dalvik VM处理运行时字节码生成.

我在第一次测试中尝试的第一件事是模拟android.content.Context,我发现那是很难的.首先,我试图仅模拟我直接调用方法,但后来我发现这些方法调用了其他依赖于应用程序资源的方法,…最终,模拟变得如此复杂以致于它在第一次使用Mockito时失败了地点.

所以我放弃并开始使用Android单元测试助手类(AndroidTestCase,ActivityUnitTestCase,…).我很沮丧,我现在不得不依赖于模拟器,这意味着SLOW测试执行.也许Mockito仍然在这种类型的测试中占有一席之地.它可能对模拟外部数据源等内容很有用.

无论如何,这只是我的2美分.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐