【问题标题】:Robotium activity testing which depends from data in SQLiteRobotium 活动测试取决于 SQLite 中的数据
【发布时间】:2012-06-25 08:56:15
【问题描述】:

我想为我的活动编写 Robotium 测试用例。测试用例扩展了标准 ActivityInstrumentationTestCase2,如 Robotium 示例中所示。 Activity 表示一个数据值对象,该对象持久保存在语言环境存储中,并且必须将对象 ID 作为 Intent Extras 中的参数。稍后onCreate会通过这个id从DB中获取data-value对象。

因此,在setUp 方法中,我想创建模拟的数据值对象,将其持久化到本地存储中,并通过 Intent Extras 将它们的 id 传递给活动。但是为了坚持,我需要一个Context 实例。在ActivityInstrumentationTestCase2 中执行此操作的唯一一种方法是为此使用getActivity()。但这将创建一个我的活动实例,然后模拟对象将被持久化。

在这种情况下我该怎么办?

【问题讨论】:

    标签: android sqlite testing android-activity robotium


    【解决方案1】:

    不调用getActivity的上下文可以从getInstrumentation().getTargetContext()获取

    【讨论】:

    • 使用此上下文创建数据库助手并插入数据不起作用。活动开始时仍然没有拾取数据。当活动开始时,我正在尝试对数据库做一些事情。
    • 我意识到我在使用getActivity() 之前使用了getInstrumentation().getTargetContext()。这就是为什么它对我不起作用。很抱歉投反对票!当我的编辑经过同行评审时会投票赞成。
    猜你喜欢
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多