【发布时间】:2014-10-09 15:37:47
【问题描述】:
我使用 maven surefire 插件运行我的测试。当我需要调试代码时,我使用mvn -Dmaven.surefire.debug test 重定向到 Eclipse 调试器。
这很好用,但日志语句不会重定向到 Eclipse 控制台。
无论如何,我们可以将log and System.out 语句重定向到 Eclipse 控制台视图。
我尝试设置useFile=false and maven.test.redirectTestOutputToFile=false 属性。这些选项似乎不起作用。
【问题讨论】:
-
如果您喜欢在 Eclipse 中运行单元测试,为什么要调用命令行?只需从 Eclipse 启动单元测试,日志输出将被放入 Eclipse 控制台。
-
Eclipse 使用 M2E 插件,这与实际的 maven 安装不同。我的工作区中有多个项目,因此 M2E 插件不能始终如一地用于构建和测试用例。但是,构建和测试用例在命令行中运行良好。似乎很多人都面临 M2E 插件的问题,推荐的方法是使用命令行。
-
@NareshVavilala 您可以通过 Window → Preferences → Maven → Installations in Eclipse 定义外部 Maven。
-
@NareshVavilala 我之前的评论只是为了解决您的第一条评论,而不是您最初的问题。如果我以 test 目标和参数 maven.surefire.debug=true运行 Maven Build 类型的 Run Configuration > 如果我使用 Remote Java Application 类型的 Debug Configuration 连接到它,
System.out.println(...)和Logger.info(...)都会打印到我的 Eclipse 的控制台视图中。 -
感谢您的评论。是的。如果我在 Eclipse 中运行 Maven 构建,日志语句会被打印出来。但我在 Eclipse 构建和测试方面面临许多其他问题,所以我正在寻找一种方法将日志从 Maven 命令行重定向到 Eclipse 控制台
标签: java eclipse maven junit4 surefire