我正在尝试寻找问题的答案,但找不到有效的方法。我有一个类可以做到这一点
public class LambdaLoggerWrapper {
public LambdaLoggerWrapper(LambdaLogger lambdaLogger){
this.lambdaLogger = lambdaLogger;
}
public void logInfo(String caller, String message){
lambdaLogger.log(message);
}
}
我的测试是
@RunWith(MockitoJUnitRunner.class)
public class LambdaLoggerWrapperTest{
@Mock LambdaLogger mockLambdaLogger;
@Test
public void testLog(){
LambdaLoggerWrapper llw = new LambdaLoggerWrapper(mockLambdaLogger);
//how to test that calling llw.logInfo actually calls lambdaLogger.log with appropriate string?
}
}
如何测试调用 llw.logInfo 实际上是否使用适当的字符串调用 lambdaLogger.log?
最佳答案
在被测实例上调用 logInfo()
方法:
String message = "my message";
llw.logInfo("caller", message);
并使用 Mockito#verify()
方法断言模拟是通过预期方法以及您传递给测试方法的参数调用的:
Mockito.verify(lambdaLogger).log(message);
关于java - 使用特定字符串调用的测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44072418/