{"id":19514597,"url":"https://github.com/jcoderpaul/junit5_tests","last_synced_at":"2025-10-07T07:36:09.023Z","repository":{"id":177514305,"uuid":"660481026","full_name":"JcoderPaul/Junit5_Tests","owner":"JcoderPaul","description":"Examples of work with Junit5, Mockito, AssertJ, Jacoco. Description in doc folders. Section cheat sheet. For memory!","archived":false,"fork":false,"pushed_at":"2024-07-05T10:56:24.000Z","size":629,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T23:32:53.196Z","etag":null,"topics":["annotations","assertj","jacoco","junit5","mockito","parametrized-tests"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JcoderPaul.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-30T05:33:02.000Z","updated_at":"2024-07-05T10:56:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"842d7e33-8240-4a2e-ac31-3cef521226b5","html_url":"https://github.com/JcoderPaul/Junit5_Tests","commit_stats":null,"previous_names":["jcoderpaul/junit5_tests"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JcoderPaul/Junit5_Tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JcoderPaul%2FJunit5_Tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JcoderPaul%2FJunit5_Tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JcoderPaul%2FJunit5_Tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JcoderPaul%2FJunit5_Tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JcoderPaul","download_url":"https://codeload.github.com/JcoderPaul/Junit5_Tests/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JcoderPaul%2FJunit5_Tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278740789,"owners_count":26037480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotations","assertj","jacoco","junit5","mockito","parametrized-tests"],"created_at":"2024-11-10T23:36:59.952Z","updated_at":"2025-10-07T07:36:09.008Z","avatar_url":"https://github.com/JcoderPaul.png","language":"Java","readme":"## Изучение фреймворка Junit 5\n\n### * [Junit5_lesson_1](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_1) * \nПримеры работы с аннотациями внутри тестового класса: \n- @Test \n- @BeforeEach\n- @AfterEach \n- @BeforeAll \n- @AfterAll\n\nПример применения аннотации @TestInstance к тестовому классу, различия между TestInstance.Lifecycle.PER_METHOD и TestInstance.Lifecycle.PER_CLASS (см. [FourthTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_1/src/test/java/com/oldboy/FourthTest.java)).\n\nИзучение методов: \n- *.assertTrue()\n- *.assertEquals() \n\nПапка DOC содержит: \n- структура Junit 5 (см. [Junit 5.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_1/DOC/Junit%205.jpg))\n- принципы TDD (см. [TDD.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_1/DOC/TDD.jpg) и [SecondTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_1/src/test/java/com/oldboy/SecondTest.java))\n- кратко о MavenWrapper (см. [MavenWrapper.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_1/DOC/MavenWrapper.txt))\n\n### * [Junit5_lesson_2](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_2) *\n\nПрименение принципов TDD на простых примерах (см. [TddMethodLess.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_2/src/test/java/com/oldboy/alltests/TddMethodLess.java)). Пример комплексного запуска тестов - Launcher API (см. [AllTestRunnerLauncher.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_2/src/test/java/com/oldboy/AllTestRunnerLauncher.java))\n\nПапка DOC содержит: \n- различия Junit 4 и Junit 5, структура фреймворка (см. [Junit 5.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_2/DOC/Junit%205.txt));\n\n### * [Junit5_lesson_3](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_3) *\n\nКраткие примеры работы с библиотекой AssertJ (см. [AssertJ.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_3/DOC/AssertJ.txt)), работа с методом: *.assertThat().\n\nПрименение Junit метода *.assertAll()\n\nПример применения аннотации @Tag (см. [UserServiceTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_3/src/test/java/com/oldboy/UserServiceTest.java))\n\nКраткое рассмотрение фильтрации тестов при выполнении по тегам (см. [TestRunnerLauncher.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_3/src/test/java/com/oldboy/TestRunnerLauncher.java))\n\nПапка DOC содержит:\n\n- краткое описание методов [AssertJ](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_3/DOC/AssertJ.txt) (см. [AssertJ.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_3/DOC/AssertJ.txt));\n\n### * [Junit5_lesson_4](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_4) *\n\nИсследование методов управления порядком запуска тестов, применение аннотаций:\n- @TestMethodOrder(MethodOrderer.*order-type*.class)\n- @Order(number)\n- @DisplayName(\"name of method\")\n\nПрименение вложенных классов, аннотация @Nested (см. [UserServiceTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_4/src/test/java/com/oldboy/UserServiceTest.java)).\n\nПапка DOC содержит:\n\n- краткое описание аннотаций Junit 5 (см. [ShortJupiterAnnotation.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_4/DOC/ShortJupiterAnnotation.txt))\n\n### * [Junit5_lesson_5](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_5) *\n\nРабота с параметризированными тестами. Исследование аннотаций: \n- @ParameterizedTest\n- @NullSource\n- @EmptySource\n- @NullAndEmptySource\n- @ValueSource\n- @MethodSource\n- @CsvFileSource\n- @CsvSource\n\nТестирование исключений, использование метода: \n- assertThrows\n\nСм. подробнее [UserServiceTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_5/src/test/java/com/oldboy/UserServiceTest.java)\n\n### * [Junit5_lesson_6](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_6) *\n\nПонятие Flaky тест. Применение аннотаций:\n- @Disable \n- @RepeatedTest(value, name)\n- @TimeOut()\n\nИспользование методов: \n- assertTimeout\n\n### * [Junit5_lesson_7](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_lesson_7) * \n\nDependency Injection - внедрение зависимостей. Расширение функциональности тестов. Аннотация @ExtendWith. Использование: \n- UserServiceParamResolver.class\n- GlobalExtension.class\n- PostProcessionExtension.class\n- ConditionalExtension.class\n- ThrowableExtension.class\n\nПапка DOC содержит: \n- схема внедрения зависимости (см. [DI.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/DI.jpg))\n- жизненный цикл теста (см. [TestLifeCycle.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/TestLifeCycle.jpg))\n- модель расширения (см. [ExtensionModel.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/ExtensionModel.jpg))\n- схема внедрения (см. [Callbacks.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/Callbacks.jpg))\n\nCтатьи о принципах внедрения зависимостей: \n- [ArticleAboutDependencies.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/ArticleAboutDependencies.txt)\n- [DependencyInjection.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/DependencyInjection.txt)\n- [WhenToUseDI.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/WhenToUseDI.txt)\n- [DependencyInjectionContainers.txt](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_lesson_7/DOC/DependencyInjectionContainers.txt)\n\n### * [Junit5_Mockito_lesson_8](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_Mockito_lesson_8) *\n\nПрименение фреймворка Mockito: \n- Примеры создание MOCK требуемого класса, применение структуры (Mockito.doReturn().when().*some_method*) и (Mockito.when(*some_class*.*some_method*).thenReturn(data)) их отличия (см. [UserServiceMockTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_Mockito_lesson_8/src/test/java/com/oldboy/Service/UserServiceMockTest.java)).\n- Пример создания SPY требуемого класса, применение Mockito.when. ... и Mockito.do. ... (см. [UserServiceSpyTest.java](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_Mockito_lesson_8/src/test/java/com/oldboy/Service/UserServiceSpyTest.java))\n\nПапка DOC содержит: \n- схема Mockito дублеров (дубликатов) (см. [MockitoTestDoubles.jpg](https://github.com/JcoderPaul/Junit5_Tests/blob/master/Junit5_Mockito_lesson_8/DOC/MockitoTestDoubles.jpg))\n\n### * [Junit5_Mockito_lesson_9](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_Mockito_lesson_9) * \n\nПрименение фреймворка Mockito: \n- Пример расширений Mockito\n- Использование аннотаций: \n  - @Mock\n  - @InjectMocks\n  - @Captor\n- Применение методов: \n  - Mockito.times()\n  - Mockito.verify()\n\n### * [Junit5_Practice](https://github.com/JcoderPaul/Junit5_Tests/tree/master/Junit5_Practice) *\n\nПрактическое применение Junit 5 и Mockito при покрытии тестами простого проекта (применение Given-When-Then).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcoderpaul%2Fjunit5_tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcoderpaul%2Fjunit5_tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcoderpaul%2Fjunit5_tests/lists"}