我正在进行Android单元测试用例执行和负面测试用例我应该得到异常,但是对于某些API的异常没有被捕获。
请找到以下示例:
public void testInsertSenderType_n() {
DBSms obj = new DBSms(getContext());
obj.open();
int i =0;
int a =0;
boolean result = true;
i=obj.GetToatlCount();
obj.insertSmsText(i+1,"Hello to testInsertSenderType_n");
a=obj.TotalcountSms("Inbox");
try
{
obj.insertSenderType(-100, "Richard", "Inbox", 0);
}
catch (Exception e)
{
// TODO: handle exception
result = false;
}
assertEquals(a,obj.TotalcountSms("Inbox"));
assertEquals(false,result);
obj.close();
}
此处,obj.insertSenderType(-100, "Richard", "Inbox", 0);
应该抛出异常。但它并没有抛出。
请指导我哪里可以错。
答案 0 :(得分:0)
我使用以下方法来预期正常的异常:
try {
doSomethingToProvokeException();
fail("there ought to be an exception dude, but was not");
} catch(ExeptionIHaveProvoked ex) {
doAssertionnsonThrowsException
}
您不需要变量来保持异常状态。至于为什么你的代码中没有抛出任何异常 - 没有人可以告诉你,除非你提供了对象的来源。