# tutorial-junit5 **Repository Path**: cph_2016/tutorial-junit5 ## Basic Information - **Project Name**: tutorial-junit5 - **Description**: tutorial-junit5 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-15 - **Last Updated**: 2021-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tutorial-junit5 ## 简介 JUnit是一个Java测试框架,JUnit5是下一代的JUnit。
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage - JUnit Platform 测试框架的基础 - JUnit Jupiter 基于Java8+的新特性做的更改 - JUnit Vintage 为了向下兼容JUnit4、JUnit3 更多内容参考[官网](https://junit.org/junit5/) 、[官方文档](https://junit.org/junit5/docs/current/user-guide/) 、[常用注解说明](https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations) ## 快速开始 ### 版本要求 - JDK 1.8+ - Spring Boot 2.2.x ### 使用步骤 1. 引入依赖包 ```xml org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine ``` 或者 ```xml org.junit.platform junit-platform-launcher 1.6.2 test org.junit.jupiter junit-jupiter-engine 5.6.2 test org.junit.vintage junit-vintage-engine 5.6.2 test ``` 2. 创建测试类 2.1 简单示例 ```java @SpringBootTest class Junit5ApplicationTests { @Test void contextLoads() { } } ``` 2.2 详细示例 ```java //该注解用于构建Spring Boot上下文环境 @SpringBootTest class MyFirstJUnitJupiterTests { //@Autowired //用于添加when条件 //@MockBean //介于@Autowired与@MockBean之间,有条件执行条件,无条件则正常执行方法 @SpyBean private Svc svc; /** * 所有方法之前执行一次 */ @BeforeAll static void beforeAll() { System.out.println("@BeforeAll-----------"); } /** * 所有方法之后执行一次 */ @AfterAll static void afterAll() { System.out.println("@AfterAll-------------"); } /** * 每个@Test方法之前执行一次 */ @BeforeEach void beforeEach() { System.out.println("@BeforeEach-------------"); } /** * 每个@Test方法之后执行一次 */ @AfterEach void afterEach() { System.out.println("@AfterEach-------------"); } /** * 测试方法 */ @Test @Tag("dev") @DisplayName("dev#addTest") //@Disabled void addTest() { when(svc.add(1, 1)).thenReturn(2); System.out.println("addTest()"); int res = svc.add(1, 1); Assertions.assertEquals(2, res); } /** * 测试方法 */ @Test @Tag("prod") @DisplayName("prod#minusTest") void minusTest() { System.out.println("minusTest()"); int res = svc.minus(2, 1); Assertions.assertEquals(1, res); } } ``` ## 依赖关系 ![](component-diagram.svg)