Android单元测试用例中的异常处理

时间:2011-12-22 06:31:00

标签: java android unit-testing exception-handling junit

我正在进行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);应该抛出异常。但它并没有抛出。

请指导我哪里可以错。

1 个答案:

答案 0 :(得分:0)

我使用以下方法来预期正常的异常:

try {
   doSomethingToProvokeException();

   fail("there ought to be an exception dude, but was not");
} catch(ExeptionIHaveProvoked ex) {
   doAssertionnsonThrowsException
}

您不需要变量来保持异常状态。至于为什么你的代码中没有抛出任何异常 - 没有人可以告诉你,除非你提供了对象的来源。