【发布时间】:2012-10-22 10:16:07
【问题描述】:
我制作了一个应用程序,它通过打开、检索数据和向其中插入数据来处理 SQLite 数据库。现在我想测试我的方法。
所以,我有两个类,一个“SQLiteHelper”扩展SQLiteOpenHelper 以打开、创建和升级数据库,另一个是DataSource 类,它创建一个SQLiteDatabase 对象,以及包含我处理数据库的所有方法。
所以要调用任何方法,我需要调用SQLiteHelper 类中的open 方法,将结果捕获到SQLiteDatabse 对象中,然后创建DataSource 类的对象,最后调用方法(例如,包含作为原始查询结果的游标)。
我知道它不适用于简单的 JUnit 测试,并且我已经阅读了 Mock Objects,但我仍然不明白如何在我的情况下使用它。
【问题讨论】:
-
“另一个是 DataSource 类,它是一个 SQLiteDatabase 对象” - 这不清楚。
SQLiteHelper应该创建SQLiteDatabase对象。您能否提供一些DataSource类的代码来澄清问题。 -
公共类数据源 { 私有静态 SQLiteHelper dbHelper = null; SQLiteDatabase 数据库;public void openDatabase(Context context) { if (dbHelper == null) { dbHelper = new SQLiteHelper(context); dbHelper.openDataBase(SQLiteDatabase.OPEN_READWRITE);数据库 = dbHelper.myDataBase; } }
-
哦,我明白了。这门课没有什么重要的。无论如何检查我的答案
-
如果您对答案满意,请将其标记为已接受。
标签: android junit easymock android-sqlite