Androidunit testing的正确方法

我知道这对所有的android开发者来说都是一个乏味的话题。 但是,Androidtesting的正确方法究竟是什么?

这是我可以想象的。

70%unit testing(JUnittesting所有的业务逻辑,networking层,数据库层等)

20%集成testing(也许是testing模拟服务器?主要testingAPI结果?)

10%的用户界面testing(嘲笑UI界面以外的任何其他内容,最有可能是Mockito + Espresso)

这是其他人正在遵循的还是另一种模式?

提前致谢!

Solutions Collecting From Web of "Androidunit testing的正确方法"

这个问题和我的答案,与Android没有任何关系,但这是一件好事。

我略微修改了你的假设,但是原理是一样的。

  • 70%unit testing(JUnittesting所有业务逻辑)

  • 20%集成testing(networking层,数据库层等,真实服务器)

  • 10%的UItesting(UI工作stream程+手动testing)

应该是70%? 80%? 85%? 没关系。 关键是比例。 你希望大部分的testing都是快速的,在内存testing中是孤立的 。 如果您与数据库进行交互,则只需要知道您的查询工作。 更新查询是否实际更新了正确的实体? 最后你按照预期检查你的UI工程。 你在这个级别上显示什么并不重要。 只要login屏幕显示,当用户没有login你的罚款。

这通常被称为testing金字塔 ,正如你所描述的,只是减去显式比率。