我有以下简单的method
在我的Java
内应用:
我想测试的方法:
public void showOutputOfIdentifications(int age) {
if(age>25){
LOGGER.info("Over 25");
}else{
LOGGER.info("25 or Under");
}
}
如何测试此方法以确保它在值超过/低于 25 时记录应有的内容?
供引用:我目前正在使用Junit
框架 Mockito
。我的记录器是slf4j
.
最佳答案
假设LOGGER是一个对象,经典的方法是用mock替换它。 Mockito是一个众所周知的模拟库,但还有其他库,只需选择一个即可。使用mockito,它可能看起来像:
LOGGER_mock = mock(LoggerClass.class);
// inject LOGGER_mock into class to test, eventually use reflection to change
// a private attribute
classToTest.showOutputOfIdentifications(10);
verify(LOGGER_mock).info("25 or Under");
关于java - Junit 测试方法的日志输出是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094501/