spring-boot - 在 JUnit 的另一个方法中没有调用方法
问题描述
我有一个方法可以在里面调用另一个 mehide。这是我的方法:
public void unblocUser(BloclistDTO bloclistDTO) {
blocListRepository.delete(mapper.toModel(bloclistDTO));
if (blocListRepository.getBlocList(bloclistDTO.getCandidate().getId(), bloclistDTO.getColumnName()).isEmpty()) {
this.setVisibility(bloclistDTO.getCandidate().getId(), bloclistDTO.getColumnName(), true);
}
}
我已经测试了 setVisibility 方法本身,它有效。但是,当 clling unblocUser 时它不起作用;这是测试它的方法:
@Test
public void unblocUserLastOne() {
Company blockedCompany = new Company ();
Candidate candidate = new Candidate ();
candidate.setId(1L);
candidate.setPersonalDetailsVisible(false);;
blockedCompany.setId(2L);
candidate.setPersonalDetailsVisible(false);
BloclistDTO bloclist= new BloclistDTO();
bloclist.setBlockedCandidate(null);
bloclist.setCandidate(candidate);
bloclist.setBlockedCompany(blockedCompany);
bloclist.setColumnName("personal_details_visible");
bloclist.setId(3L);
blocListService.unblocUser(bloclist);
assertEquals(true, candidate.isPersonalDetailsVisible());
}
我收到一个错误:预期为真,但为假。请问有什么帮助吗?
解决方案
首先你需要为 BlocListRepository 类创建一个模拟对象
@InjectMocks
BlocListRepository blocListRepository;
然后在 BlocListRepository 类中模拟 delete 方法。
@Test
public void unblocUserLastOne() {
Mockito.doNothing().when(blocListRepository).delete(Mockito.any());
Company blockedCompany = new Company ();
Candidate candidate = new Candidate ();
candidate.setId(1L);
candidate.setPersonalDetailsVisible(false);;
blockedCompany.setId(2L);
candidate.setPersonalDetailsVisible(false);
BloclistDTO bloclist= new BloclistDTO();
bloclist.setBlockedCandidate(null);
bloclist.setCandidate(candidate);
bloclist.setBlockedCompany(blockedCompany);
bloclist.setColumnName("personal_details_visible");
bloclist.setId(3L);
blocListService.unblocUser(bloclist);
assertEquals(true, candidate.isPersonalDetailsVisible());
}
推荐阅读
- java - java - 如何从带有数组的csv文件中删除记录
- python - 在 python 中创建自己的 haar 级联模型时出错
- c++ - 使用 R 中的多维数值积分加速 for 循环
- spring - 带有 Spring 缓存和咖啡因的 Spring Cloud Gateway
- python - -Axis 上的日期显示为 1 月 51 日而不是 1 月 20 日
- javascript - 隐藏表格html中的空列
- python - 带有 wxPython 的 Matplotlib 子图会导致 exe 崩溃,但在 IDE 中从控制台运行代码时不会崩溃
- java - 从对象中查找最大值
- javascript - 重复到 JS 对象属性在迭代后变为“真”
- php - 函数 App\Http\Controllers\CommentController::store() 的参数太少,通过了 1 个,预期正好有 2 个