【问题标题】:The correct approach to Android Unit TestingAndroid单元测试的正确方法
【发布时间】:2015-07-24 05:53:41
【问题描述】:

我知道这对所有 Android 开发人员来说都是一个乏味的话题。但究竟什么是 Android 测试的正确方法?

这是我能想象的。

70% 单元测试(JUnit 测试所有业务逻辑、网络层、数据库层等...)

20% 集成测试(可能是针对模拟服务器进行测试?主要测试 API 结果?)

10% 的 UI 测试(模拟除 UI 交互之外的任何其他内容,很可能是 Mockito+Espresso)

这是其他人都在遵循的还是有其他模式?

提前致谢!

【问题讨论】:

  • 这里 100% 的总和是应用逻辑覆盖率的总和,还是测试计数的总和?
  • 嗨@hidro 100% 是证明Android 测试结构合理的平均值。不是专门针对我的项目:)

标签: android unit-testing android-testing


【解决方案1】:

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

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

  • 70% 单元测试(JUnit 测试所有业务逻辑。)

  • 20% 集成测试(网络层、数据库层等、真实服务器)

  • 10% UI 测试(UI 工作流程 + 手动测试)

应该是 70% 吗? 80%? 85%?没关系。关键是比例。你希望你的大部分测试都是fast, isolated in memory tests。如果您确实与数据库交互,您只是想知道您的查询是否有效。更新查询是否真的更新了正确的实体?最后,您检查您的 UI 是否按预期工作。在这个级别上显示什么并不重要。只要在用户未登录时显示登录界面就可以了。

这通常被称为Test Pyramid,这就是您所描述的,只是减去显式比率。

【讨论】:

    猜你喜欢
    • 2016-03-25
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多