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