Как отключить весь модульный тест в TestNG?

Вот что я могу сделать в JUnit:

import org.junit.*;
@Ignore
public class FooTest {
  //
}

и весь класс будет проигнорирован. Как я могу сделать то же самое в TestNG?


person yegor256    schedule 02.06.2011    source источник


Ответы (1)


Я считаю, что вы хотите:

@Test(enabled=false)
public class FooTest {
  //
}

(Вы можете применить аннотацию @Test к классу, а также к методам по отдельности.)

документация TestNG содержит полный список поддерживаемых аннотаций, а также описание исключения/включения тесты по группам, если это представляет интерес. Вот цитата из соответствующего раздела:

@Test Помечает класс или метод как часть теста.

...(отрезать)...

enable: включены ли методы этого класса/метода.

РЕДАКТИРОВАТЬ: Игнорирование класса путем применения @Test(enabled=false), по-видимому, содержит ошибки в некоторых версиях TestNG в соответствии с этот дефект, который был обнаружен в TestNG.

person razlebe    schedule 02.06.2011
comment
Это правильный ответ: он пометит все общедоступные методы класса как отключенные. Обратите внимание, что добавление @Test к методу снова активирует этот метод и только этот метод. Дайте мне знать, если вы видите что-то другое. - person Cedric Beust; 02.06.2011
comment
По-видимому, у других также были проблемы с @Test при применении на уровне класса. См. этот вопрос. - person razlebe; 02.06.2011
comment
Возможно, это ошибка в некоторых версиях TestNG. - person razlebe; 02.06.2011
comment
Подтверждено: это является ошибкой, согласно кэшу Google OpenSymphony страница с ошибкой, которая его отслеживала. - person razlebe; 02.06.2011
comment
Хорошая вещь в JUnit @Ignore заключается в том, что вы можете указать причину, по которой вы игнорируете тест. Есть ли способ сделать это в TestNG, кроме как оставить комментарий, который кто-то может забыть удалить при повторном включении теста? - person Jun-Dai Bates-Kobashigawa; 12.03.2013
comment
Да, у меня была такая же проблема с добавлением его на уровень класса. Мне пришлось поставить enable=false во ВСЕ тесты. - person Marcello de Sales; 16.08.2013