1

在 DAO 中,一个查询返回我和List<Object[]>

我做了一个 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 我可以检查返回列表是否为空,但是如果我想检查列表中的内容怎么办。

4

1 回答 1

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),因此,在运行时,我们知道每个单元测试的预期结果。

于 2013-03-08T07:14:04.760 回答