代码之家  ›  专栏  ›  技术社区  ›  Veeti

Android单元测试和使用不同的数据库文件

  •  1
  • Veeti  · 技术社区  · 15 年前

    我正在尝试对我的应用程序启动单元测试(应该从一开始就这样做)。我已经建立了一个Eclipse项目结构,所有的工作都很好,但是…

    我是子班 SQLiteOpenHelper 访问应用程序数据库。这对应用程序很好,但是在单元测试中使用同一类时,它 写入与实际应用程序相同的数据库 . 这显然相当令人恼火,因为在开发和测试实际应用程序时会显示单元测试数据。

    最好的方法是什么 存取资料表 当从单元测试调用时,是否将类写入其他数据库文件?

    3 回复  |  直到 13 年前
        1
  •  2
  •   ubuntudroid    15 年前

    如果在向原始程序中添加一些代码行时没有问题,也可以向应用程序子类中添加类变量和适当的getter和setter方法,定义是否处于测试模式。然后,单元测试类可以访问setter方法并将测试设置为“true”。在代码中定义数据库的地方,然后访问getter方法来决定要使用哪个数据库。

        2
  •  2
  •   ubuntudroid    15 年前

    你可以考虑使用Easymock图书馆 easymock.org 模拟sqliteOpenHelpers子类及其方法。

        3
  •  0
  •   xli    13 年前

    为了避免对原始类进行许多更改,我在每个测试开始时备份数据库文件(使用copyfile),清除它/插入正确的值,然后在测试完成后还原备份的db文件。

    推荐文章