JUnit, чтобы проверить, содержит ли новый API перечисление

Я новичок в модульном тестировании и хочу проверить, содержит ли новый API указанное перечисление. Что я должен изменить вместо is(true), потому что теперь он возвращает логическое значение, но мне нужен список?

Класс перечисления:

public enum SupportingColor
{
    GREEN,
    BLACK
}

Поддерживающий цветовой метод:

public List<SupportingColor> supportingColor() {
    return configuration.supportingColor();
}

Прецедент:

    @Test
    public void NEW_API_hasBlack() {
        ApiVersionFeatures features = ApiVersionFeatures.getByApiVersion(ApiVersion.NEW_API);

        assertThat(features.supportingColor(), is(true));
    }

наверное assertThat(features.supportingColor(), org.hamcrest.CoreMatchers.hasItem(SupportingColor.BLACK));

XtremeBaumer 12.03.2019 13:40

Спасибо! Это сработало!

Drish 12.03.2019 13:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
151
2

Ответы 2

Вы можете использовать

assertThat(actual, Matchers.contains(SupportingColor.BLACK, SupportingColor.GREEN));

Есть и другие варианты contains в [Matchers][1]. Ознакомьтесь с документацией по API

вместо этого вы должны вызвать метод ListAssert.contains

@Test
public void hasBlack() {
    List<SupportingColor> colorList = Arrays.asList(SupportingColor.BLACK, SupportingColor.GREEN);
    Assertions.assertThat(colorList).contains(SupportingColor.BLACK);
}

public enum SupportingColor {
    GREEN,
    BLACK
}

Другие вопросы по теме