关注
在Java中,测试上述`deleteById`方法的一种常见方式是使用JUnit框架。以下是一个简单的测试例子,这个例子假设`commentMapper`是一个MyBatis的Mapper接口,它有一个名为`logicalDeleteByPrimaryKey`的方法用来逻辑删除数据库中的记录。
首先,你需要一个`CommentMapper`接口的Mock实现,以及一个用于测试的服务类。这里使用JUnit 4和Mockito来创建Mock对象和进行测试。
请注意,以下代码只是一个例子,实际测试代码会根据你的项目设置和具体实现细节有所不同。
```java
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
public class CommentServiceTest {
@Mock
private CommentMapper commentMapper;
@InjectMocks
private CommentService commentService;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void testDeleteById() {
// Arrange
Integer id = 1;
// Act
commentService.deleteById(id);
// Assert
verify(commentMapper, times(1)).logicalDeleteByPrimaryKey(id);
}
}
// 假设的CommentService类
public class CommentService {
private CommentMapper commentMapper;
public CommentService(CommentMapper commentMapper) {
this.commentMapper = commentMapper;
}
public void deleteById(Integer id) {
commentMapper.logicalDeleteByPrimaryKey(id);
}
}
// 假设的CommentMapper接口
public interface CommentMapper {
void logicalDeleteByPrimaryKey(Integer id);
}
```
在这个测试中,我们使用了`@Mock`注解来创建`CommentMapper`的Mock对象,并使用`@InjectMocks`注解来自动注入这个Mock到`CommentService`的实例中。`setUp`方***在每个测试方法执行前运行,用来初始化Mockito的注解。
`testDeleteById`测试方***验证当调用`deleteById`时,`commentMapper`的`logicalDeleteByPrimaryKey`方法是否被正确调用了一次。
请根据你的实际项目结构和配置对以上代码进行必要的调整。如果你使用的是JUnit 5,那么`@Before`和`@Test`注解的导入路径会有所不同。
查看原帖
点赞 1
相关推荐
牛客热帖
更多
正在热议
更多
# 跟HR说什么能被秒回? #
12409次浏览 213人参与
# 校招笔试 #
454500次浏览 2917人参与
# 巨人网络春招 #
10672次浏览 164人参与
# 你收到了哪些公司的笔试? #
24665次浏览 140人参与
# 小米笔试 #
142156次浏览 1007人参与
# 春招/暑实第一面是哪家? #
25340次浏览 262人参与
# MiniMax求职进展汇总 #
18964次浏览 261人参与
# 网易游戏笔试 #
5205次浏览 67人参与
# 网易笔试 #
150938次浏览 788人参与
# 视觉/交互/设计百问百答 #
76788次浏览 461人参与
# 职能管理面试记录 #
10053次浏览 53人参与
# AI Coding的使用心得 #
25467次浏览 228人参与
# OPPO笔试 #
21777次浏览 98人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
4575次浏览 120人参与
# 美团笔试 #
741821次浏览 4955人参与
# 如何一边实习一边找下家? #
37263次浏览 293人参与
# 面试官最爱问的 AI 问题是...... #
21394次浏览 690人参与
# 你找工作的时候用AI吗? #
195583次浏览 977人参与
# 正在春招的你,也参与了去年秋招吗? #
360758次浏览 2620人参与
# AI coding的好用工具分享 #
71051次浏览 553人参与
# 现在入门AI应该走哪些方向? #
6372次浏览 122人参与
# 你的嫡系AI是哪个? #
5966次浏览 137人参与
查看5道真题和解析