1、添加依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
2、编写测试类
package org.coding.java;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.coding.java.domain.user.UserDO;
import org.coding.java.mapper.UserMapper;
import org.coding.java.query.QueryPageVO;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.test.autoconfigure.MybatisTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@MybatisTest
@MapperScan("org.coding.java.mapper")
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
public class BootMybatisApplicationTests {
@Resource
private UserMapper userMapper;
@Test
public void test_A() {
UserDO userDO = userMapper.selectOne(1713745566506168322L);
assertThat(userDO.getName()).isEqualTo("测试修改数据是否成功AAA");
assertThat(userDO.getPhone()).isEqualTo("13345896587");
}
@Test
public void test_B() {
List<UserDO> list = userMapper.selectList();
assertThat(list);
}
@Test
public void test_C() {
UserDO userDO = new UserDO();
userDO.setId(1713745566506168322L);
userDO.setName("mybatis单元测试");
userDO.setAge(35);
userDO.setPhone("13788546985");
userDO.setEmail("mybatis@qq.com");
Integer updated = userMapper.updateUser(userDO);
assertThat(updated).isEqualTo(updated);
}
@Test
public void test_D() {
QueryPageVO queryPageVO = new QueryPageVO();
queryPageVO.setName("测试");
PageHelper.startPage(queryPageVO.getPageNo(), queryPageVO.getPageSize());
List<UserDO> list = userMapper.selectPage(queryPageVO);
PageInfo<UserDO> pageInfo = new PageInfo<>(list);
assertThat(pageInfo).isEqualTo(pageInfo);
}
}
FAQ:
解决方案:将启动类中【@SpringBootApplication】注解注释,待业务逻辑测试正常走后在取消注释。