如何在使用 jenkins 运行 maven build 时为 junit 打印 System.out.println



我需要在 Jenkins 中获取 JUnit 的System.out.println()日志,以及从 JUnit(版本 4.8.2(调用的方法的日志

@Test
public void junitTestMethod() {
anotherMethod();// how to print sop logs for this method
System.out.println("How to print these system.out.printn logs");
Assert.assertEquals(true,"True");
}

请建议我们如何实现相同的目标。

你需要一个为你做这件事的框架。 在这种情况下可以使用冲刺AOP。或者你必须创建自己的框架/设计来调用方法。

Selenium和CompleteTest也可用于打印详细信息,但它们用于自动化。我希望这与你无关。

最简单的方法是迁移到 logger (log4j, java.util.logging e.t.c(。

如果有理由同时使用记录器和标准输出,请将System.out更改为自定义流,例如在BeforeClass中。

像这样:

System.setOut(new PrintStream(System.out) {
public void println(String s) {
logger.log("[system.out] " + s);
super.println(s);
}
});

之后,每次调用system.out.printeln都会生成一个日志条目,然后打印到stdout。

最新更新