Обработка исключений в Android модульном тесте - PullRequest
0 голосов
/ 22 декабря 2011

Я выполняю Android Unit Test Case Выполнение и для Negative Test Case я должен получить исключение, но для некоторых 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 голосов
/ 22 декабря 2011

Я использую следующий метод для ожидания правильного исключения:

try {
   doSomethingToProvokeException();

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

Вам не нужны переменные для сохранения состояния исключения.Что касается того, почему в вашем коде нет исключений - никто не может сказать вам это, если вы не предоставите источник объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...