单元测试SQLiteDatabase代码 - 如何在模拟器外实例化数据库实例

时间:2010-02-22 13:30:22

标签: java android

我需要为我的Android代码引用SQLiteDatabase的代码运行单元测试;但是我在模拟器(在我的桌面计算机上)实例化此对象的所有尝试都失败了。 Android上没有推荐使用Android上的JDBC,因此它是不可能的(我本可以非常容易地提供模拟对象)。那么,有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您无法在模拟器或真实设备之外测试Android类。如果要在桌面计算机上运行测试用例,使用 JVM 而不是 Dalvik ,则应该独立于android类。你也可以改变android.jar而不是抛出异常,但我想这不是你想要的。

答案 1 :(得分:1)

遇到同样的问题,我同意布拉克的看法。你是否在模拟android.db类方面取得了进展?你也可以在桌面上使用sqlite4java,但问题是很难为现有的Android的SQLlite模型包装器提供一个外观。

<强> 更新

也许很难,但并非完全不可能。由于我找不到任何允许我在我的开发机器上使用Android类测试sqlite的现有项目,我继续实现了Android的SQLiteOpenHelper和SQLiteDatabase(加上一些其他的小类)作为sqlite4java的包装器,足够好了我的单元测试目的。啊,现在我的android-sqlite特定单元测试的执行时间缩短了.1秒。