Как утвердить макет объекта в списке - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть тест Junit, как показано ниже:

ClassA a1 = mock(ClassA.class);
ClassB b1 = new B("1", "abcd1");
testClass.addToMap(b1, a1); //add date to map1
ClassA a2 = mock(ClassA.class);
ClassB b2 = new B("2", "abcd2");
testClass.addToMap(b2, a2); //add date to map1
testClass.dropFromMap(); //this will remove the object from map1 and add the ClassA details to a set(set1)

Теперь вопрос заключается в том, как проверить, что set1 содержит оба поддельных objects(a1, a2).Пример ниже:

assertTrue(testClass.set1.contains(a1));
assertTrue(testClass.set1.contains(a2));

Невозможно использовать ArgumentCaptor, так как я должен предоставить правильный b1 объект при добавлении на карту.

1 Ответ

0 голосов
/ 11 февраля 2019

Если вы хотите проверить, что в одной строке / утверждении я бы выбрал совпадения Hamcrest:

import static org.hamcrest.Matchers.*;

...

testClass.dropFromMap();
assertThat(testClass.set1, containsInAnyOrder(a1, a2));

Это позволит убедиться, что только и именно эти два находятся в наборе.

...