我已经创建了一个应用程序来处理SQLite数据库,方法是打开,检索数据并向其中插入数据。现在我想测试我的方法。
所以,我有两个类,一个是“SQLiteHelper
”,它扩展SQLiteOpenHelper
来打开,创建和升级数据库,另一个是DataSource
类, SQLiteDatabase
对象,包含处理数据库的所有方法。
因此,为了调用我需要在SQLiteHelper
类中调用open方法的任何方法,在SQLiteDatabse
对象中捕获结果,然后创建DataSource
类的对象,并且最后调用方法(例如,作为rawquery的结果包含游标)。
我知道它不适用于简单的JUnit测试,我读过Mock Objects,但我仍然不明白如何在我的情况下使用它。
答案 0 :(得分:4)
我知道它不适用于简单的JUnit测试
会的。只需像往常一样调用您的方法并检查结果是否正确。
唯一重要的是您应该使用IsolatedContext
来创建数据库。在这种情况下,应用程序中的原始数据库文件将保持不变。所有测试都可以使用单独的测试数据库文件,可以根据需要修改甚至删除。
您可以从ProviderTestCase2
获取正确的IsolatedContext
。 (您还可以查看ProviderTestCase2
来源以了解其工作原理。)