您好我在下面的测试失败并给我这个错误,失败是在验证...但我无法理解。
java.lang.AssertionError: 验证期望失败: debug(isA(java.lang.Object)):expected:1,actual:0
测试代码就是这样。
public void testLogInfo()
{
JDBCAppender jdbcAppender = createNiceMock(JDBCAppender.class);
Logger logger = createNiceMock(Logger.class);
LogDB logDB = new LogDB(null, null, null, LogDBDriver.ODBC, Level.TRACE);
logDB.setJdbcAppender(jdbcAppender);
logDB.setLogger(logger);
// method call
logger.info(isA(Object.class));
expectLastCall().once();
// replay
replay(logger);
replay(jdbcAppender);
// verify method call
logDB.log(Level.INFO, "10", "Server", "admin", "shortext", "longText","className","methodName");
verify(logger);
}
答案 0 :(得分:2)
刚刚发现了什么问题。
方法调用LogDB.log没有调用Logger.info(Object)它是callig Logger.log(Priority,Object)。
这就是为什么在重播之后,状态不一样,因为它期待一种呼叫并接收另一种呼叫。