2013-03-08 3 views
1

Dans la DAO une requête me retourne et List<Object[]>tests unitaires pour la méthode dans DAO

J'ai fait un été ABC qui a

protected String Name; 
protected Integer AGE; 

et les accesseurs pour elle.

Ceci est mon DAO Méthode

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; 

Comment puis-je écrire test JUnit pour cette méthode. Grâce à Junit, je peux vérifier si la liste de retour est vide ou non, et si je veux vérifier ce qu'il y a dans la liste.

+0

Quel est le résultat? Voulez-vous faire un appel réel à la DB ou se moquer de lui? – smk

+0

Je suis nouveau à Junit s'il vous plaît me suggérer lequel est bon par mock ce que je comprends c'est que c'est une valeur factice droite. – Sau

+0

résultat est prénom 25 puis second nom 30 et troisième nom 45 – Sau

Répondre

1

Vous pouvez utiliser assertEquals pour vérifier les valeurs renvoyées si elles sont corrigées ou non

@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 

} 

Habituellement, nous allons préparer un ensemble de données de test (par exemple, dans votre cas, « prenom » ou 25), de sorte , lors de l'exécution, nous connaissons le résultat attendu de chaque test unitaire.

+0

Oui son travail pour moi j'ai vraiment je vous remercie de m'avoir aidé. Je ne peux pas voter parce que ma réputation est seulement de 6. mais c'est une bonne solution à ma question, merci encore une fois. – Sau

+0

juste marquer comme la réponse :) –

+0

@Sau Here you go)) Maintenant, vous pouvez upvote. – informatik01