2

我制作了一个应用程序,通过打开、从中检索数据和向其中插入数据来处理 SQLite 数据库。现在我想测试我的方法。

所以,我有两个类,一个“ SQLiteHelper”扩展SQLiteOpenHelper为打开、创建和升级数据库,另一个是一个DataSource类,它创建一个SQLiteDatabase对象,并包含我处理数据库的所有方法。

因此,为了调用任何方法,我需要调用SQLiteHelper类中的 open 方法,将结果捕获到一个SQLiteDatabse对象中,然后创建DataSource该类的一个对象,最后调用该方法(其中包含一个作为原始查询结果的游标) .

我知道它不适用于简单的 JUnit 测试,并且我已经阅读了 Mock Objects,但我仍然不明白如何在我的情况下使用它。

4

1 回答 1

4

我知道它不适用于简单的 JUnit 测试

它会。只需像往常一样调用您的方法并检查结果是否正确。

唯一重要的是您应该更喜欢使用它IsolatedContext来创建数据库。在这种情况下,您来自应用程序的原始数据库文件将保持不变。所有测试都将使用单独的测试数据库文件,可以根据需要多次修改甚至删除。

您可以IsolatedContextProviderTestCase2. (您还可以查看ProviderTestCase2资源以了解其工作原理。)

于 2012-10-22T10:55:12.230 回答