2012-02-09 91 views

回答

0

使用DELETE FROM <tablename>; VACCUUM;或删除表(S)和重建。如果您需要重置AUTOINCREMENT列使用的序列值,请使用更高版本。

+0

这些都不会回复更改,不是吗? – kosa 2012-02-09 20:10:32

+0

哦,'干净'我认为你的意思是空的。您正在寻找一种方法来回到数据库不是空的初始状态? – Pedantic 2012-02-09 20:30:17

0

This question有一些答案可能会导致你在正确的方向。使用事务来处理你的回滚将是我想的最简单的方法。

0

最简单的方式将博创建一个模拟DB只有一些测试数据,测试后,只需将它。

0

最新的记事本示例应用程序做这样的事情。它包括记事本使用的内容提供者的单元测试。由于这些测试基于JUnit 3,因此每个单元测试都会调用 setUp()和tearDown()方法。

的测试方法利用在内容提供商的私有方法的下降表中的基础数据库,然后重新创建它们。测试类和内容提供者类使用相同的包名,所以私有方法对测试是可见的。但是,在内容提供商之外不可见,所以没有其他人应该能够调用它,并且它没有Javadoc。

如果这些还不够,你可以使用ContentProvider.call()方法来控制供应商(通过调用ContentResolver.call())。

相关问题