java - 使用日志消息编写 junit 测试用例而不使用 mockito
问题描述
我有一个spring boot应用程序,我想为void方法编写一个junit测试用例,所以我只想测试日志是否包含特定消息。以下是我的业务逻辑类:
public void processAdjustmentFeed(){
............
if(!CollectionUtils.isEmpty(adjustmentList)){
log.info("ADJUSTMENT FEED SIZE TO PUBLISH: {}", adjustmentList.size());
// SOME BUSINESS LOGIC
} else {
log.warn("NO ADJUSTMENT FEED FOUND TO PROCESS FROM : {}", lastSuccessfulQueriedTimeStamp);
}
}
在我的测试课上:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AdjustmentSchedulerTest {
//
@Autowired
private AdjustmentScheduler adjustmentScheduler;
@Autowired
private AdjustmentRepository adjustmentRepository;
@Autowired
private AdjustmentService adjustmentService;
@Test
public void processAdjustmentFeed_ValidAdjustmentList()
{
....
adjustmentScheduler.processAdjustmentFeed();
//HERE I NEED TO CHECK FOR THE LOG MESSAGE
}
}
不使用 mockito 怎么办,因为我使用的是 H2 数据库,我想用实际方法进行测试。谁能给我一些代码示例来做到这一点。
解决方案
推荐阅读
- python - 给定一个长字符串,在字典中找到匹配的字符串
- python - 循环遍历 Selenium/Python 中标签内的标签
- r - 使用 Count 压缩行
- python - Docker 上的 Gunicorn 在 Mac 上出现错误
- c# - Logical error in display/math not displaying initial result
- python - 在python中设计类似结构的c的最佳方法
- google-sheets - 如何对同一单元格内的单元格值进行排名
- python - 将字典写入输出文件时删除逗号
- json - 在 Go 中将字符串转换为 json
- python - 如何在 pandas datafrmae 中每 n 行展平