【问题标题】:TDD for Android and mobile [closed]适用于 Android 和移动设备的 TDD [关闭]
【发布时间】:2012-03-04 20:46:49
【问题描述】:

我正在探索在 Android 上推动 TDD 的实施,但我发现很难证明其合理性。虽然我坚信 TDD,并在其他设计中使用过它,但我面临着几个关键问题:

  • 模拟器速度慢且不可靠。感觉有必要在设备上进行测试以获得好的信息。

  • 在设备上进行测试通常太慢,无法在编写基本的 sn-p 代码和单个测试用例之间交替进行。

我正在尝试另一种方法,即编写完整的单元测试套件、编写代码单元并(如有必要)编辑测试套件以全面覆盖该单元。

我的主要问题是:您在移动领域使用了哪些 TDD 方法/修改,您发现它们是否有效?

随意包含任何推荐的框架,尽管这不是问题的主要推动力,因为其他地方有很好的答案。

【问题讨论】:

    标签: android architecture tdd agile


    【解决方案1】:

    看看RoboElectric 项目。它使您能够在模拟器之外运行测试,因此它的目的是使 Android TDD 变得实用。

    我还将尝试将非 Android 依赖的代码分离到一个可以独立测试的库/项目中。

    【讨论】:

    • 跟进:您认为 RoboElectric 的可靠性如何?我们离开模拟器的部分原因是速度,RoboElectric 解决了这个问题,但部分原因是模拟器经常给出错误的行为。所描述的在所有 android 方法中返回 null 的方法会给我们带来很差的覆盖率,因为框架的大部分是针对原生 android 行为的。 100% 同意不依赖于 Android 的代码,尽管到目前为止我发现它很少见,但我们已经不再将 Java 作为我们 Web 堆栈的一部分。
    • 这是一个非常好的问题,您可能希望将它作为一个单独的 SO 开始。我没有足够广泛地使用 RoboElectric 来给你一个好的答案,但与标准的 Android 测试方法相比,我对它非常满意。您可能还会发现他们的 Google 群组很有用:groups.google.com/group/robolectric?pli=1。就非 Android 相关代码而言,我指的是在您的 Android 应用程序中使用的代码,而不是您系统的其他部分(只是想澄清一下)。祝你好运!
    • 非常感谢您的帮助。
    【解决方案2】:

    请查看完整的RoboElectric Tutorial 和源代码Code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-05
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2018-10-31
      相关资源
      最近更新 更多