
我正在尝试为我的数据库编写测试用例.
我有一个扩展到sqliteOpenHelper的帮助程序类
DBHelper.java public DBHelper(Context context) { super(context, DBConstants.DATABASE_name, null, DBConstants.DATABASE_VERSION); }以及具有所有插入,删除等的构造函数类.
DBController.java public DBController open() throws sqlException { dbHelper = DBHelper.getInstance(context); database = dbHelper.getWritableDatabase(); return this; }我的考试课
DBControllerTest.java@Mock Context mContext; DBController dbController; @Before public voID setUp() throws Exception { MockitoAnnotations.initMocks(this); RenamingDelegatingContext context = new RenamingDelegatingContext(mContext, "test_"); dbController = new DBController(context); dbController.open(); }在这里,当我执行dbController.open()时,dbHelper.getWritableDatabase()始终返回null.
我该如何解决这个问题.我也是在以正确的方式嘲笑它.我已经搜索了很多,但没有找到解决方案.什么是测试数据库查询的最佳方法.
解决方法:
您不能像这样模拟Context,而需要使用工具的Context.由于此测试需要AndroID代码并因此需要检测,因此请确保将其放入androIDTest目录中的测试中.
有关示例,请参见this答案.
总结以上是内存溢出为你收集整理的android-在JUnit4和Mockito中编写SQLiteOpenHelper测试用例全部内容,希望文章能够帮你解决android-在JUnit4和Mockito中编写SQLiteOpenHelper测试用例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)