基于Springboot进行单元测试
1.在api模块的pom.xml中添加spring-boot-starter-test依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>2.4.4</version> </dependency>
2.在fmmall父工程的pom.xml中添加junit依赖
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency>
3.在beans子工程下创建User实体类
package com.linlin.fmmall.entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class User { private int userId; private String username; private String userRealName; private String userImg; }
4.在mapper子工程下创建UserDao接口和UserMapper.xml
package com.linlin.fmmall.dao; import com.linlin.fmmall.entity.User; public interface UserDao { public User queryUserByName(String name); }
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.linlin.fmmall.dao.UserDao"> <resultMap id="userMap" type="User"> <id column="user_id" property="userId"/> <result column="user_name" property="username"/> <result column="user_realname" property="userRealName"/> <result column="user_img" property="userImg"/> </resultMap> <select id="queryUserByName" resultMap="userMap"> select * from users where user_name = #{name} </select> </mapper>
5.在UserDao接口名上按shift+ctrl+t快捷键创建junit4单元测试类
@RunWith(SpringRunner.class) @SpringBootTest(classes = ApiApplication.class) public class UserDaoTest { @Resource private UserDao userDao; @Test public void queryUserByName() { User linlin = userDao.queryUserByName("linlin"); System.out.println("linlin = " + linlin); }
上面的@SpringBootTest注解需要指定启动类,但是mapper模块没有启动类,所以单元测试统一拷贝在api工程的单元测试路径下
6.执行单元测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!