Trial book

Unit vs TestNG. Аннотации

Фреймворк JUnit 4 TestNG
Аннотация теста @Test @Test
Запуск перед сьютом @BeforeSuite
Запуск после сьюта @AfterSuite
Запуск перед тестированием @BeforeTest
Запуск после тестирования @AfterTest
Запуск перед тестом из группы @BeforeGroups
Запуск после теста из группы @AfterGroups
Запуск перед классом @BeforeClass @BeforeClass
Запуск после класса @AfterClass @AfterClass
Запуск перед каждым тестовым методом @Before @BeforeMethod
Запуск после каждого тестого метода @After @AfterMethod
Игнорировать тест @ignore @Test(enbale=false)
Ожидать исключение @Test(expected = ArithmeticException.class) @Test(expectedExceptions = ArithmeticException.class)
Таймаут @Test(timeout = 1000) @Test(timeout = 1000)

Аннотации, поддерживаемые тестовыми фрейворками, выглядят очень похоже.

Основные отличия заключаются в следующем:

  1. В JUnit 4, мы объявляем “@BeforeClass” and “@AfterClass” как статичные методы. TestNG лишен этих ограничений.
  2. 3 доволнительных setUp/tearDown уровня: сьют и группа (@Before/AfterSuite, @Before/AfterTest, @Before/AfterGroup). Подробно http://testng.org/doc/documentation-main.html#annotations.
  3. В целом конвенция именования для аннотаций у TestNG более понятна для тех, кто с ними не знаком. В то время как аннотации JUnit могут вызывать вопросы о их назначении ( “Before”, “After” and “Expected”).

Вопрос 1. Какие еще аннотации вы бы добавили? Вопрос 2. Какие свойства есть у аннотации @Test (JUnit и TestNG)?