Игнорирование JUNIT теста при условии через Assume.assumeFalse()

94
04 ноября 2021, 00:20

Имеется тестовый класс:

abstract public class AbstractServiceTest {
    @Autowired
    private Environment environment;
    boolean isJdbc() {
        return Arrays.asList(environment.getActiveProfiles()).contains("jdbc");
    }
    @ClassRule
    public static ExternalResource summary = TimingRules.SUMMARY;
    @Rule
    public Stopwatch stopwatch = TimingRules.STOPWATCH;
    @Rule
    public ExpectedException thrown = ExpectedException.none();
    public <T extends Throwable> void validateRootCause(Runnable runnable, Class<T> exceptionClass) {
        try {
            runnable.run();
            Assert.fail("Expected " + exceptionClass.getName());
        } catch (Exception e) {
            Assert.assertThat(getRootCause(e), instanceOf(exceptionClass));
        }
    }
}

Имеется класс-наследник, в котором нужно проигнорировать один тест при условии isJdbc():

public abstract class AbstractMealServiceTest extends AbstractServiceTest {
    @Autowired
    protected MealService service;
    @Test
    public void createWithException() throws Exception {
        Assume.assumeFalse(isJdbc());
        validateRootCause(() -> service.create(new Meal(null, of(2015, Month.JUNE, 1, 18, 0), "  ", 300), USER_ID), ConstraintViolationException.class);
        validateRootCause(() -> service.create(new Meal(null, null, "Description", 300), USER_ID), ConstraintViolationException.class);
        validateRootCause(() -> service.create(new Meal(null, of(2015, Month.JUNE, 1, 18, 0), "Description", 9), USER_ID), ConstraintViolationException.class);
        validateRootCause(() -> service.create(new Meal(null, of(2015, Month.JUNE, 1, 18, 0), "Description", 5001), USER_ID), ConstraintViolationException.class);
    }
}

Как избежать прохождение теста при выполнении условия

Assume.assumeFalse(isJdbc());

без появления ошибки

org.junit.AssumptionViolatedException: got: <false>, expected: is <true>?

READ ALSO
Чтение txt файлов linux

Чтение txt файлов linux

Добрый день есть код который должен читать файлы txt в паке, в эту папку падают файлы с названием modemVKjUeK каждый раз имя modem остаётся прежним...

190
Автоматическая подстановка тире

Автоматическая подстановка тире

Цель: писал поле для ввода номера снилс, и делал, чтобы он сам ставил тире через каждые три символа

96
UPDATE данных в таблице, объединить запросы MYSQL

UPDATE данных в таблице, объединить запросы MYSQL

нужно обновить данные по разному alias в таблице, по отдельности эти запросы работают, как их в один объединить?

191
Прикрепить меню к верху (без прокрутки)

Прикрепить меню к верху (без прокрутки)

Меню выводится в середине страницы(так нужно для СЕО)Как его можно перенести стилями на самый верх, сдвинув остальные элементы? Разметка...

89