android编写测试用例,android-在JUnit4和Mockito中编写SQLiteOpenHelper测试用例

我正在尝试为我的数据库编写测试用例.

我有一个扩展到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答案.

标签:sqlite,junit,mockito,junit4,android

来源: https://codeday.me/bug/20191027/1943261.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计测试用例编写测试用例是测试过程的两个关键阶段,它们之间存在一些区别。 1. 设计测试用例:在测试过程测试用例的设计是首要任务。测试用例设计是根据需求和系统设计,确定要测试的功能、场景、边界条件等,并确定相应的输入数据和预期输出。测试用例设计的目标是全面覆盖软件的功能,并尽可能发现潜在的缺陷和问题。在测试用例设计阶段,测试人员需要分析需求、定义测试目标、选择合适的测试技术和方法,并制定测试策略。测试用例设计可以使用各种技术,如等价类划分、边界值分析、决策表等。 2. 编写测试用例测试用例编写是在测试用例设计的基础上,将设计好的测试用例转化为具体的文档或脚本形式。编写测试用例需要按照一定的格式和规范,记录测试步骤、输入数据、预期结果和实际结果等信息。编写测试用例时,需要准确描述每个测试步骤和预期结果,以便其他测试人员能够按照指导进行执行。编写测试用例的目标是确保测试用例的准确性、可执行性和可重复性。 总结起来,设计测试用例是整体的规划和策略制定阶段,确定要测试的内容和方法;而编写测试用例是将设计好的测试用例转化为具体的文档或脚本,以便测试人员执行和记录测试过程。设计和编写测试用例生命周期的两个不可或缺的环节,相互依赖且紧密联系,共同确保测试工作的质量和有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值