赞
踩
一.JUnit5常用注解
@Before注解用于在测试方法执行之前执行一次,可以用来设置测试环境、准备数据等。
@After注解用于在测试方法执行之后执行一次,可以用来清理测试环境、处理异常等。
@Test 表示方法是测试方法。他的职责非常单一不能生命任何属性,拓展的测试将会有Jupiter提供额外测试
@ParameterizedTest 表示方法是参数化测试。
@RepeatedTest 表示方法课重复执行。
@DisPlayName 为测试类或者测试方法设置展示名称
@BeforEach 表示在每个单元测试之前执行
@AfterEach 表示在每个单元测试之后执行
@BeforeAll 表示在所有单元测试之前执行
@AfterAll 表示在所有单元测试之后执行
@Tag 表示单元测试类别,类似于JUnit4中的@Catgories
@Disabled 表示测试类或测试方法不执行,类似于JUnit4中的@Ignore
@Timout 表示测试方法运行如果超过了指定时间将会返回错误
@ExtendWith 为测试类或测试方法提供扩展类引用
下面举例说一个例子:
整体思路:测试的时候我们一般不会在原数据库进行测试,一般会建立一个同结构同表名的测试数据库进行测试。
1.首先我们需要建立测试类:
通常在admin包下找到src下面的main包 创建与main包的同级测试包test作为测试包。
规则:测试包下面建立与main报下面相同名的包级(规则习惯);现在比如我们需要测试的是service层的代码,我们会在test下面的创建的java包里创建一个包名为service接口层的路径。并在包下创建测试类
2.一般情况@Before @After @Test 来进行单元测试
如果用的是JUnit5的情况下在测试类上不需要家@RunWith注解只需要加@SpringBootTest注解.
@SpringBootTest是JUnit5中用于测试Spring Boot应用程序的注解。它可以自动配置Spring上下文并启动嵌入式Web服务器,以便在测试期间可以轻松地访问应用程序。
3.重点:
在@Before中的数据初始化的时候我们应该怎么连接数据库:(举例)打
- @Before
- public void setUp() throws SQLException, SQLException {
- String url ="jdbc:mysql://localhost:3306/ruoyi_test";
-
- String user="root";
- String password="password";
- Connection conn= DriverManager.getConnection(url,user,password);
- Statement stmt=conn.createStatement();
- ResultSet rs=stmt.executeQuery("select count(*) from w_category");
- rs.next();
- int count = rs.getInt(1);
- System.err.println("Table count is: " + count);
- rs.close();
- stmt.close();
- conn.close();
- }
二.@Test测试(常用断言)
Assertions.assertThrows() 测试异常情况时的断言
Assertions.assertTimeout()为测试方法设置了超时时间
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。