我正在为使用SQLite数据库的Android应用程序执行JUnit测试。我需要创建一个可以被测试用例操纵的测试数据库。数据库需要以已知的配置启动,并针对每个测试用例进行重置。我想通过传递SQLiteOpenHelper作为数据库的文件名(see this article for details)作为null
的值可以使用内存数据库。现在我也想为我的一些测试填充数据库表。我在本地文件系统上有一个CSV文件,其中包含一些可用于测试的数据。如何将这些数据存入模拟器或其他设备上的SQLite数据库中进行测试?在Android上测试SQLite数据库
0
A
回答
2
SQLite库代码中没有内置的CSV导入功能。
但是,sqlite3
命令行工具可以导入CSV文件。一旦导入,您就可以使用adb
工具将数据库文件复制到设备中。 或者,您可以使用sqlite3的.dump
命令来生成SQL命令来重新创建数据库;然后将它们放入一个字符串数组中,或者将它们放入由测试程序读取的文本文件中。
+0
我假设你所指的'sqlite3'工具将在我的桌面命令行上运行。因此,如果我将CSV文件导入到数据库,那么它将保存在我的桌面文件系统中。这种手工工作量很好。现在有没有办法在测试过程中以编程方式将数据库导入到设备?我还需要擦除数据库(可能是在'tearDown()'方法中),这对Android API来说应该不难。我不知道的唯一部分是首先在模拟器上获取数据库。 –
相关问题
- 1. 在sqlite数据库上测量负载
- 2. 如何测试在Android中处理SQLite数据库的方法?
- 3. 在iPhone上调试SQLite数据库
- 4. 测试sqlite数据库的变化
- 5. 测试SQLite空间数据库(与NHibernate)
- 6. 在设备上测试sqlite数据库应用程序
- 7. 在Android上查看sqlite数据库
- 8. 在Android设备上的SQLite数据库
- 9. 在“SQLiteDatabase.openDatabase”上删除Android SQLite数据库
- 10. 在Android上运行sqlite测试
- 11. 用phpunit sqlite内存数据库测试mysqli数据库类
- 12. Android SQLite数据库
- 13. Android-SQLite数据库
- 14. Android。 SQLite数据库
- 15. sqlite数据库android
- 16. Android SQLite数据库
- 17. Android的jUnit测试java.lang.NoClassDefFoundError:android /数据库/ sqlite的/ SQLiteOpenHelper
- 18. Android的SQLite数据库的测试策略
- 19. Django SQLite试图在测试时覆盖数据库
- 20. 在AWS云(RedShift)上测试数据库?
- 21. 在mac上创建测试数据库
- 22. Android上的SQLite的数据库callins
- 23. H2数据库SQLite的VS Android上
- 24. 比较Android上的SQLite数据库
- 25. 如何使Android上的SQLite数据库
- 26. 调试android:连接到手机上的sqlite数据库
- 27. 在Android库中创建SQLite数据库
- 28. 试图从SQLite数据库
- 29. 用于在Android上测试的本地mySql数据库?
- 30. 在Android上测试数据库:ProviderTestCase2或RenamingDelegatingContext?
选中此:http://stackoverflow.com/questions/9109438/how-to-use-an-existing-database-with-an-android-application/9109728#9109728 –
@YaqubAhmad感谢您的链接。我会在今晚或本周末晚些时候尝试这些建议。 –