【问题标题】:Testing Android Application - How to execute a setup of database data?测试 Android 应用程序 - 如何执行数据库数据的设置?
【发布时间】:2013-01-18 17:56:26
【问题描述】:

我有一个 android 应用程序,我的测试人员正在学习如何使用 robotsium 实现测试。 该应用程序有一个实体(对象/pojo)存储在 sqlite 数据库中,其中包含 id、描述和一些其他信息。

我们需要了解如何在测试类中进行设置,以便应用程序拥有一个具有确定 ID、描述等的实体,可用于测试。

对于数据库访问,我们实现了 Dao 模式 + SQLiteOpenHelper 的扩展创建和管理使用 Robo Guice 注入到 Activity 类中的数据库更新。到目前为止,我们还没有使用 ContentProviders(在 android 测试包中有一个 MockContentProvider 类),但如果这是最好的解决方案,我们可能会迁移到它。

设置实现的要求是不要将测试代码与应用代码混合。有什么建议么?

【问题讨论】:

    标签: android database testing mocking


    【解决方案1】:

    我不确定您所说的“设置实现的要求是不要将测试代码与应用代码混合。有什么建议吗?”但我猜你的意思是你不想在测试中重用应用程序中的任何代码???

    恐怕您最好的选择是让您编写代码来填充数据库,或者让他们运行应用程序以使其进入给定状态然后进行测试。亲自重用您的代码可能是最好的选择,但您必须以正确的方式构建它,并且取决于您要测试的内容。例如,如果您正在测试数据库中的某些内容是否正确显示,那么重用我们的代码就可以了。如果您正在测试将内容放入数据库是否有效,那么重复使用您的代码是不好的,那么您应该练习应用程序以确保它正确地保存到数据库中。

    我喜欢以 BDD 风格看待这个问题,“Given”步骤中的任何事情都发生在过去,你的测试不应该关心它是如何发生的,只是它发生了,所以它是如何进入那个状态的不重要,在这些情况下,速度可能是最重要的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 2017-03-11
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多