0


java 单元测试创建到测试(直接连接数据库方法)

一.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()为测试方法设置了超时时间

标签: java 单元测试 junit

本文转载自: https://blog.csdn.net/m0_74790475/article/details/130862472
版权归原作者 等天黑zz 所有, 如有侵权,请联系我们删除。

“java 单元测试创建到测试(直接连接数据库方法)”的评论:

还没有评论