所以我的手上有一点神秘感。我将一些参数传递给方法但该方法永远不会执行。我已经检查过以确保没有任何参数本身为null。它甚至不执行方法中的第一行(简单的System.out.println()
)。知道问题可能是什么?
以下是审查中的方法:
public static void passedTest(String title, String startPhase, String endPhase,
String startTime, String endTime, long startMilli, long endMilli, String testNum) {
System.out.println("PASSED");
endMilli = System.currentTimeMillis();
totalLength += (endMilli - startMilli);
passedCount++;
try {
out.newLine();
out.write("Test Case " + testNum);
out.newLine();
out.newLine();
out.write(title + " --- " + startPhase.toUpperCase() + " to "
+ endPhase.toUpperCase());
out.newLine();
out.write("PASSED");
out.newLine();
out.write("__________________________________________");
out.newLine();
out.write("");
out.newLine();
out.write("\tSTARTED: " + startTime);
out.newLine();
out.write("\tENDED: " + endTime);
out.newLine();
out.write("\tDURATION: " + timeConverter(endMilli - startMilli));
out.newLine();
out.write("");
out.newLine();
out.write("--------------------------------------------------------------------------------------------------------------------------------------------------");
out.newLine();
out.write("--------------------------------------------------------------------------------------------------------------------------------------------------");
out.newLine();
} catch (IOException e) {
}
}
答案 0 :(得分:7)
如果方法中的第一行未执行,则该方法不会被调用。有可能它实际执行并且System.out
已被重定向,因此它不会打印到控制台而是打印到其他地方。
拿一个调试器,在你认为调用 this 方法的所有代码行上设置一个断点,调试并进入该方法。也许你最终还是在其他地方......