基于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.执行单元测试

 

posted @   林林2127  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示