Настройка набора тестов для игнорирования

У меня есть много тестовых наборов, каждый из которых содержит много тестовых классов. Вот как они выглядят:

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses( {ATest.class, BTest.class})
public class MyFirstTestSuite {

    @BeforeClass
    public static void beforeClass() throws Exception {
                // load resources
    }

    @AfterClass
    public static void afterClass() throws Exception {
        // release resources

    }
}

Иногда я хочу полностью отключить весь набор тестов. Я не хочу устанавливать каждый тестовый класс как @Ignore, поскольку каждый набор тестов загружает и освобождает ресурсы, используя @BeforeClass и @AfterClass, и я хочу пропустить эту загрузку/выпуск, когда набор тестов игнорируется.

Итак, вопрос: есть ли что-нибудь похожее на @Ignore, что я могу использовать во всем тестовом наборе?


person adranale    schedule 12.06.2012    source источник


Ответы (2)


Вы можете аннотировать TestSuite с помощью @Ignore.

@RunWith(Suite.class)
@SuiteClasses({Test1.class})
@Ignore
public class MySuite {
    public MySuite() {
        System.out.println("Hello world");
    }

    @BeforeClass
    public static void hello() {
        System.out.println("beforeClass");
    }
}

не производит никакого вывода.

person Matthew Farwell    schedule 12.06.2012

SlowTest — это класс, определяемый пользователем. Он может быть пустым (без каких-либо функций или атрибутов). Вы можете назвать его как хотите:

введите здесь описание изображения

введите здесь описание изображения

person Daniela    schedule 24.05.2017