java - JUnit 测试询问上下文?
问题描述
我正在为这个布尔方法创建一个单元测试。它的目的是在数据库中插入新行时返回一个布尔值。(布尔值用于错误处理)。这个方法是我的“DBHelper”类的一部分。
public Boolean insertBorrowerDetails(String FirstName, String LastName, String NickName, String PhoneNumber)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues BorrowerContentValues = new ContentValues();
BorrowerContentValues.put("FirstName",FirstName);
BorrowerContentValues.put("LastName",LastName);
BorrowerContentValues.put("NickName",NickName);
BorrowerContentValues.put("PhoneNumber",PhoneNumber);
long InsertBorrowerResult = db.insert("Borrowers",null, BorrowerContentValues);
if (InsertBorrowerResult==-1){
return false;
}else{
return true;
}
}
这是我尝试为该方法创建的单元测试。
@Test
public void insertBorrowerDetailsTest() {
String FirstName = "John";
String LastName = "Doe";
String NickName = "";
String PhoneNumber = "0467823618";
DBHelper db = new DBHelper(); Here its asking me for context?? Not sure why..
Boolean result = db.insertBorrowerDetails(FirstName,LastName,NickName,PhoneNumber);
assertEquals(result,false);
}
这是我的第一个单元测试,所以我不太确定为什么它要求我提供上下文。我还尝试在不初始化 DBHelper 类的情况下调用 insertBorrowerDetails 方法,但该方法是非静态的,因此似乎我不能只继承该方法。知道我如何才能对这种方法进行实际的单元测试吗?
解决方案
推荐阅读
- python - 理解列表中使用的 Pop() 未从初始列表中删除所有项目
- c# - VS C#中的依赖地狱,找不到依赖关系
- r - 警告消息:1:未知或未初始化的列:“时间戳”。r
- java - 计算一个 JSONArray 有多少特定的 JSONObjects
- bash - docker中的链式睡眠命令如何组成?
- c# - 无法登录授权升级到 Umbraco 8.1
- python - 使用 Auth、用户模型、视图、序列化程序的 Django API OneToOne 关系
- object - 为什么属性值在创建后不保存在对象中?
- javascript - 如何为突出显示的单词显示下拉菜单
- javascript - 我可以将 JSON 应用于当前的 gridster 列表吗?