Android单元测试的最佳实践?

时间:2015-11-18 16:49:37

标签: android unit-testing android-activity junit android-testing

我正在开发一款移动Android应用。用于Android单元测试的最常见的库/框架是什么?我觉得大多数业务逻辑,数据库测试,Web服务测试都可以使用JUnit完成。

然而,测试用户界面,用户界面工作流程等的最佳方法是什么?例如,我们如何测试Android应用程序是否成功启动了Web浏览器?或者我们如何确认按钮,某些事情是否成功按下?或者如果图像加载成功?

3 个答案:

答案 0 :(得分:11)

我使用JUnit进行单元测试,使用Robolectric进行测试测试。

This article向您展示了Robolectric的Hello World示例

最近,我一直在使用Arquillian Droidium研究Android中的集成测试。

如果要测试一些使用REST API的代码,可以使用WireMock进行模拟。使用此库,您可以通过代码模拟REST API,甚至可以在您自己的计算机中部署模拟HTTP服务器并设置您自己的模拟映射。

对于REST API模拟,我还建议您使用Mockable.io

答案 1 :(得分:8)

2017年回答

Android文档有一个名为Best Practices for Testing的主题系列。我会从那里开始。

启动新项目时,默认设置本地单元测试和仪表测试。给出的一般建议是尽可能使用本地单元测试。有时这需要模拟使用Android API的对象。在这些情况下documentation recommends使用Mockito。当需要完成UI测试(检测测试)时,Android会提供Espresso框架。还有其他可用工具,例如Exerciser Monkey(用于压力测试)和UI Automator(用于测试多个应用互动)。

示例

See this answer了解如何在Android Studio中开始测试。

答案 2 :(得分:1)

Android开发者网站上有guide for automated user interface testing。我没试过,但它看起来像你一直在寻找。