我知道这对所有Android开发者来说都是一个乏味的话题。但究竟什么是Android测试的正确方法?
这是我可以想象的。
70%单元测试(JUnit测试所有业务逻辑,网络层,数据库层等......)
20%集成测试(也许针对模拟服务器进行测试?主要测试API结果?)
10%的UI测试(模拟除UI交互之外的任何其他内容,很可能是Mockito + Espresso)
这是其他所有人都遵循的还是另一种模式?
提前致谢!
答案 0 :(得分:6)
这个问题和我的回答,并没有特别与Android有关,但这是一件好事。
我稍微修改了你的假设,但原则是一样的。
70%单元测试(JUnit测试所有业务逻辑。)
20%集成测试(网络层,数据库层等,真实服务器)
10%UI测试(UI工作流程+手动测试)
应该是70%吗? 80%? 85%?这没关系。关键是比例。您希望大多数测试都是fast, isolated in memory tests。如果您确实与数据库进行交互,那么您只想知道您的查询是否有效。更新查询是否实际更新了正确的实体?最后,检查您的UI是否按预期工作。在这个级别上显示的内容并不重要。只要在用户没有登录您的罚款时显示登录屏幕。
这通常被称为Test Pyramid,就是你所描述的,只是减去了明显的比率。