Re: junit Exception
От: SergeyLyadzhin  
Дата: 13.04.07 06:23
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добры день не подскажите как JUNIT работает с Exception

А>так правильно писать?



А>

А>@Test public void testCommandLine(){

А>        try {
А>             engine.setCommand(new String ("RUR 100 20").split(" "));
А>                         fail();  
            
А>        } catch (Exception e) {
А>            assertEquals(e.toString(),"java.lang.Exception: Wrong operand");
А>        }

А>



Нет. Во-первых в 4м JUnit есть специальная конструкция для проверки ожидаемых исключений (JUnit FAQ рулит =) )
    @Test(expected=IndexOutOfBoundsException.class)
    public void testIndexOutOfBoundsException() {
        ArrayList emptyList = new ArrayList();
        Object o = emptyList.get(0); // список пустой, получим исключение IndexOutOfBoundsException
    }


Вот. А во-вторых НИКОГДА не выкидывай и не catch java.lang.Exception! Это жесть. Делай свои подклассы.
Мало того, что ты таким макаром хватаешь все виды исключений, включая RuntimeException-ы, так к тому же
ты не получаешь толком никакой информации об ошибке, кроме текстового мессаджа.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.