[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-spring-test-kakie-novye-annotatsii-poyavilis-v-junit-5":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},689,"kakie-novye-annotatsii-poyavilis-v-junit-5",16,"spring-test","Spring Test","🧪","Какие новые аннотации появились в JUnit 5?","JUnit 5 вводит ряд новых аннотаций, расширяющих возможности написания тестов:\n\n- `@DisplayName` — задаёт человекочитаемое имя теста, которое отображается в отчётах.\n- `@Nested` — позволяет создавать вложенные тестовые классы для логической группировки.\n- `@ParameterizedTest` — параметризованный тест с различными источниками данных.\n- `@RepeatedTest` — повторяет тест указанное число раз.\n- `@Tag` — помечает тесты тегами для фильтрации при запуске.\n- `@Disabled` — отключает тест или тестовый класс.\n- `@Timeout` — задаёт максимальное время выполнения теста.\n- `@ExtendWith` — регистрирует расширения (замена `@RunWith` и `@Rule`).\n- `@TempDir` — инъекция временной директории для файловых тестов.\n\n\u003Cdetails>\u003Csummary>Пример кода\u003C\u002Fsummary>\n\n```java\nimport org.junit.jupiter.api.*;\n\n@DisplayName(\"Тесты калькулятора\")\nclass CalculatorTest {\n\n    @Test\n    @DisplayName(\"Сложение двух положительных чисел\")\n    void shouldAddTwoPositiveNumbers() {\n        assertEquals(5, calculator.add(2, 3));\n    }\n\n    @Test\n    @Disabled(\"Деление ещё не реализовано\")\n    void shouldDivide() {\n        \u002F\u002F ...\n    }\n\n    @RepeatedTest(5)\n    @DisplayName(\"Повторяющийся тест генерации случайных чисел\")\n    void randomTest(RepetitionInfo info) {\n        System.out.println(\"Повторение: \" + info.getCurrentRepetition());\n    }\n\n    @Test\n    @Tag(\"slow\")\n    @Timeout(value = 5, unit = TimeUnit.SECONDS)\n    void longRunningTest() {\n        \u002F\u002F долгий тест\n    }\n}\n```\n\n\u003C\u002Fdetails>\n\n> **На собеседовании:** достаточно перечислить 5-6 ключевых аннотаций и описать их назначение. Частая ошибка — путать `@RepeatedTest` и `@ParameterizedTest`: первый повторяет один и тот же тест, второй запускает тест с разными данными.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":19,"keywords":20,"schemaAnswer":19,"featuredSnippetReady":21},"Какие новые аннотации появились в JUnit 5? — Gymterview","JUnit 5 вводит ряд новых аннотаций, расширяющих возможности написания тестов:",[7,13],true]