> For the complete documentation index, see [llms.txt](https://comaqa.gitbook.io/java-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://comaqa.gitbook.io/java-automation/yunit-testirovanie/junit-vs-testng.-osnovnye-annotacii.md).

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