MyBatis-测试方法封装

MyBatis-测试方法封装

Junit5中提供了一些针对测试方法的注解

@BeforeEach

在每一个测试方法之前都要执行的方法

@AfterEach

在每一个测试方法之后都要执行的方法


Mybatis测试改写

我们将读取文件创建流 -> sqlSessionFactory -> sqlSession -> mapper 这一系列步骤进行封装

sqlSession是每次运行测试都要开启和关闭的,

所以将sqlSession的创建和mapper的创建写进@BeforeEach中

将sqlSession资源的关闭写进@AfterEach中

package com.xiaobai.test;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.io.InputStream;

public class MyBatisTest {
    InputStream is;
    SqlSession sqlSession;
    UserMapper mapper;

    {
        try {
            is = Resources.getResourceAsStream("mybatis-config.xml");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);


    @BeforeEach
    public void setUp() throws Exception {
        sqlSession = sqlSessionFactory.openSession();
    }

    @AfterEach
    public void tearDown() throws Exception {
        sqlSession.close();
    }
	…………
}