В TestNG можно отключать тесты с помощью атрибута enabled у аннотации @Test. Пример:
1 2 3 4 5 6 7 8 9 10 |
public class MyTest { @Test public void test1() { } @Test(enabled = false) public void test2() { } } |
Аннотацию @Test (что такое аннотации в Java?) можно ставить на весь класс, но нужно иметь в виду, что аннотации методов переопределяют аннотации класса, а значит переопределяют и значение атрибута enabled:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@Test(enabled = false) public class MyTest { @Test // Будет выполняться, так как переопределяет аннотацию класса public void test1() { } @Test(enabled = false) // Не будет выполняться public void test2() { } // Не будет выполняться, тесты отключены на уровне класса public void test3() { } } |
Аннотацию @Ignore можно использовать для пакетов, классов и методов. Она имеет более высокий приоритет, чем enabled у аннотации @Test. В следующем примере все тесты отключены, даже несмотря на то, что в аннотациях @Test атрибут enabled по умолчанию имеет значение true:
1 2 3 4 5 6 7 8 9 10 11 12 |
// Ни один тест не будет выполняться. @Ignore public class MyTest { @Test public void test1() { } @Test public void test2() { } } |
May the Force be with you!