2013-03-08 4 views
1

В DAO запрос возвращает меня и List<Object[]>Модульное тестирование для метода в DAO

Я сделал был ABC, который имеет

protected String Name; 
protected Integer AGE; 

и методы получения и установки для него.

Это мой DAO Метод

List<ABC> list = new ArrayList<ABC>(); 
if(result!=null && !result.isEmpty()) 
{ 
    Iterator dataIter = result.iterator(); 
    while(dataIter.hasNext()) 
    { 
    Object[] row = (Object[]) dataIter.next(); 
    ABC abc = new ABC(); 
    abc.setName((String)row[0]); 
    abc.setAGE((Integer)row[1]); 
    list.add(abc); 
    } 
} 

return list; 

Как Написать тест JUnit для этого метода. Через Junit я могу проверить, пустой ли список возврата или нет, но что, если я хочу проверить, что есть в списке.

+0

Что является результатом? Вы хотите сделать реальный звонок в db или издеваться над ним? – smk

+0

Я новичок в Junit, пожалуйста, предложите мне, какой из них хорош, макет, что я понимаю, это то, что его фиктивные значения правы. – Sau

+0

результат является первым именем 25, затем вторым именем 30 и третьим именем 45 – Sau

ответ

1

Вы можете использовать assertEquals для проверки возвращаемых значений, если они будут исправлены или не

@Test 
public void testListOfABC() throws DAOException { 
    // Declare your DAO 


    List<ABC> lstABC = dao.yourFunction(); 

    // check if it is null 
    assertNotNull(lstABC); 

    // check if the returned list have enough values 
    assertEquals(lstABC.size(), 3); 

    // check if each value is corrected 
    assertEquals(lstABC.get(0).getName(), "firstname"); 
    assertEquals(lstABC.get(0).getAGE(), 25); 
    // and so on 

} 

Обычно мы подготовим набор тестовых данных (скажем, в вашем случае, «ПгвЬЫат» или 25), так , при запуске мы знаем ожидаемый результат каждого модульного теста.

+0

Да, его работа для меня я действительно благодарю вас за помощь. Я не могу голосовать, потому что моя репутация всего 6. но это правильное решение моего Вопроса еще раз. – Sau

+0

просто отметьте это как ответ :) –

+0

@Sau Здесь вы идете)) Теперь вы можете возвысить. – informatik01

Смежные вопросы