{"id":14008445,"url":"https://github.com/bonigarcia/mastering-junit5","last_synced_at":"2025-05-15T13:07:32.512Z","repository":{"id":24789847,"uuid":"82903968","full_name":"bonigarcia/mastering-junit5","owner":"bonigarcia","description":"Examples of the Packt book \" Mastering Software Testing with JUnit 5: Comprehensive guide to develop high quality Java applications\"","archived":false,"fork":false,"pushed_at":"2025-05-15T06:23:57.000Z","size":3946,"stargazers_count":416,"open_issues_count":0,"forks_count":235,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-05-15T07:24:58.776Z","etag":null,"topics":["android","appium","docker","java","junit","junit5","mockito","rest","selenium","spring","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bonigarcia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2017-02-23T08:30:46.000Z","updated_at":"2025-05-15T06:23:54.000Z","dependencies_parsed_at":"2023-11-06T07:45:09.916Z","dependency_job_id":"8371674d-a5d2-43ef-b0bf-9f1584c69a01","html_url":"https://github.com/bonigarcia/mastering-junit5","commit_stats":{"total_commits":1633,"total_committers":7,"mean_commits":"233.28571428571428","dds":"0.21249234537660744","last_synced_commit":"86a19119cc6b107312a71a52b66478d88a32595d"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bonigarcia%2Fmastering-junit5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bonigarcia%2Fmastering-junit5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bonigarcia%2Fmastering-junit5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bonigarcia%2Fmastering-junit5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bonigarcia","download_url":"https://codeload.github.com/bonigarcia/mastering-junit5/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"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","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":["android","appium","docker","java","junit","junit5","mockito","rest","selenium","spring","spring-boot"],"created_at":"2024-08-10T11:01:41.147Z","updated_at":"2025-05-15T13:07:32.430Z","avatar_url":"https://github.com/bonigarcia.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# [![][Logo]][GitHub Repository]\r\n\r\n[![Build Status](https://github.com/bonigarcia/mastering-junit5/workflows/build/badge.svg)](https://github.com/bonigarcia/mastering-junit5/actions)\r\n[![badge-jdk](https://img.shields.io/badge/jdk-17-green.svg)](https://www.oracle.com/java/technologies/downloads/)\r\n[![License badge](https://img.shields.io/badge/license-Apache2-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)\r\n[![Support badge](https://img.shields.io/badge/stackoverflow-junit5-green.svg?logo=stackoverflow)](https://stackoverflow.com/questions/tagged/junit5)\r\n[![Twitter Follow](https://img.shields.io/twitter/follow/boni_gg.svg?style=social)](https://twitter.com/boni_gg)\r\n\r\nThis repository contains the code examples of [JUnit 5] for the book [Mastering Software Testing with JUnit 5: Comprehensive guide to develop high quality Java applications], authored by [Boni García] and published by [Packt].\r\n\r\n[![][Cover]][Packt]\r\n\r\nThese examples cover the main features of JUnit 5, such as:\r\n\r\n* JUnit 5 tests lifecycle.\r\n* Assertions.\r\n* Tagging and filtering tests.\r\n* Conditional test execution.\r\n* Nested and repeated tests.\r\n* Migration from JUnit 4.\r\n* Dependency injection.\r\n* Dynamic tests.\r\n* Test interfaces.\r\n* Test templates.\r\n* Parameterized tests.\r\n* Parallel execution.\r\n* Ordered tests.\r\n\r\nMoreover, the integration with third-party technologies is also illustrated with examples, concretely:\r\n\r\n* Mockito (popular mock framework).\r\n* Spring (Java framework aimed to created enterprise applications based on dependency injection).\r\n* Docker (container platform technology).\r\n* Selenium WebDriver (test automation library for web applications).\r\n* Appium (test automation library for mobile devices).\r\n* Android (open source mobile operating system based on Linux).\r\n* REST services (using REST Assured, Retrofit2, or WireMock).\r\n\r\n# JUnit 5 versions\r\n\r\nThis repository has different tags, one per minor version of JUnit 5. Currently, the available tags are the following:\r\n\r\n* `5.0`: Examples using JUnit 5.0.3. The examples of the book [Mastering Software Testing with JUnit 5] are based on this version.\r\n* `5.1`: Examples using JUnit 5.1.1.\r\n* `5.2`: Examples using JUnit 5.2.0.\r\n* `5.3`: Examples using JUnit 5.3.2.\r\n* `5.4`: Examples using JUnit 5.4.2.\r\n* `5.5`: Examples using JUnit 5.5.2.\r\n* `5.6`: Examples using JUnit 5.6.3.\r\n* `5.7`: Examples using JUnit 5.7.2.\r\n* `5.8`: Examples using JUnit 5.8.2.\r\n* `5.9`: Examples using JUnit 5.9.3.\r\n* `5.10`: Examples using JUnit 5.10.0.\r\n* `5.11`: Examples using JUnit 5.11.0.\r\n* `5.12`: Examples using JUnit 5.12.0.\r\n\r\n# Complete example\r\n\r\nThe project [Rate my cat!] contains a sample web application based on Spring Boot (Spring MVC, Thymeleaf, and Spring Data JPA)\r\nwith a complete set of JUnit 5 tests (unit with Mockito, integration with Spring, and end-to-end tests with Selenium).  \r\n\r\n# About\r\n\r\nMastering JUnit 5 (Copyright \u0026copy; 2017-2025) is a project created and maintained by [Boni García] and licensed under the terms of the [Apache 2.0 License].\r\n\r\n[JUnit 5]: https://junit.org/junit5/\r\n[Boni García]: https://bonigarcia.dev/\r\n[Logo]: https://bonigarcia.github.io/img/mastering_junit5_logo.png\r\n[GitHub Repository]: https://github.com/bonigarcia/mastering-junit5\r\n[Mastering Software Testing with JUnit 5: Comprehensive guide to develop high quality Java applications]: https://www.amazon.com/Mastering-Software-Testing-JUnit-Comprehensive-ebook/dp/B076ZQCK5Q\r\n[Packt]: https://www.packtpub.com/product/mastering-software-testing-with-junit-5/9781787285736\r\n[Rate my cat!]: https://github.com/bonigarcia/rate-my-cat\r\n[Cover]: https://bonigarcia.dev/img/mastering-software-testing-with-junit-5.png\r\n[Apache 2.0 License]: https://www.apache.org/licenses/LICENSE-2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbonigarcia%2Fmastering-junit5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbonigarcia%2Fmastering-junit5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbonigarcia%2Fmastering-junit5/lists"}