mercredi 3 juin 2015

I'm basically trying to verify whether the correct parameters are being invoked in a method.

Here's a snippet of the code I'm trying to test:

Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.in("type", Arrays.asList("employee", "supervisor");

Verifying this using:

Mockito.verify(mockSession).createCriteria(User.class);
Mockito.verify(mockCriteria).add(Restrictions.in("type", Arrays.asList("employee", "supervisor"));

The first verify statement works. The second doesn't because, I believe, that the JVM detects two different List objects being compared to. However, when I change the second verify statement to:

Mockito.verify(mockCriteria).add(Restrictions.in("type", Mockito.anyList());

It works like a charm. However, I do want to ensure that the two Strings, employee and supervisor, are inside the List and that won't happen by using Mockito.anyList().

How do I get this to work?

EDIT: Please take note that I do not wish to only verify whether a List has been passed. I want to ensure that the correct Strings are passed inside that List as well

Aucun commentaire:

Enregistrer un commentaire