вторник, 18 октября 2016 г.

Тест junit с hamcrest с проверкой коллекции на содержание чего-либо

Часто, я первой проверкой на коллекции в unit-тесте, ставлю простое определение есть ли что-то там или нет.

Обычно (по ленивой привычке) я делал это примерно так:


@Test
public void testNotEmptyList(){
    List<String> list = Arrays.asList("item_1","item_2");
    Assert.assertNotNull(list);
    Assert.assertTrue(list.size() > 0);
}

Но тут решил попробовать Hamcrest matchers и почему-то не сразу понял как там сделать такого рода проверку с коллекциями. Без коллекций всё достаточно понятно, а вот именно с коллекциями как-то не сразу въехал. Но в результате получилось вот так:

...
import org.hamcrest.collection.IsEmptyCollection;
import static org.hamcrest.CoreMatchers.*;
...
@Test
public void testNotEmptyList(){
    List<String> list = Arrays.asList("item_1","item_2");
    Assert.assertThat(list, notNullValue());
    Assert.assertThat(list, not(IsEmptyCollection.emptyCollectionOf(String.class)));
}

Версия Hamcrest должна быть не меньше 1.3

Комментариев нет:

Отправить комментарий