【发布时间】:2016-02-11 18:24:18
【问题描述】:
我是一般测试的新手,并试图找出一种可接受的策略来测试我在 Android 上使用的 Sqlite 数据库。
我正在为我应该如何做到这一点以及不同方法的优点而苦苦挣扎。
如果没有太多经验,运行集成测试似乎是一种好方法。 AFAIK 这意味着启动一个模拟器进行测试,然后运行实际在模拟器上创建和修改数据库的测试。这种方法听起来很有吸引力,因为我可以进行“往返”测试,从一些预先构建的数据对象开始,并可以使用它们和一个真实的数据库来测试所有的 CRUD 操作。这将允许我实际验证如果我插入一个对象然后将其读回,则进入的 POJO 与出来的 POJO 相同。我还可以验证对象集合的排序、确认确实发生了删除、数据库升级等事情......
我可以设想的另一种测试方法是使用单元测试而不是集成测试。我可以设想这些测试涉及验证 ContentValues 对象是否正确创建或确保给定某个 Cursor 对象以正确创建 POJO。
对我来说,集成测试方法似乎更胜一筹,因为它可以提供良好的测试覆盖率,我编写的 CRUD 代码是正确的,这样我就不会遇到我期望一个对象的字段的情况被填充但它是空的,或者类似的东西。
其他人如何在 Android 上测试他们的 Sqlite 代码?
在 Android 上的 Sqlite 方面,谁能帮助我了解单元测试与集成测试的优点?
【问题讨论】:
标签: android sqlite unit-testing integration-testing android-testing