JUnit 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)?

Last updated