我正在使用 java 为 java 编写自定义声纳规则。我遇到了一个无法轻易修复的断言错误。我确信源代码是正确的。但测试用例无法通过。我想知道在使用 TDD 流程时我应该关心什么以及如何解决它。
public class logTCheckFile {
private static Logger logger = Logger.getLogger(logTCheckFile.class);
public void loggingWithID(String nonsense) throws myException{
logger.error("errorID:20160801 this is an error");
return;
}
public void loggingWithoutID(String nonsens){
try{
logger.error("this is an error");
}catch(NullPointerException e){
logger.error("what",e);
}
return;
}
public void specific(){
logger.error("only the logger");
try{
logger.error("this is an error");
}catch(NullPointerException e){
logger.error("without an exception");
}
return;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在测试上面的文件,我编写了一条规则来测试未抛出的异常是否打印在记录器中。
消息是AssertionError: Unexpected at [20](这是失败堆栈跟踪的图片)
我编写的检查文件的代码如下:
public class logTCheck extends IssuableSubscriptionVisitor {
Logger …Run Code Online (Sandbox Code Playgroud)