【问题标题】:Redirect maven test logging to eclipse console将 maven 测试日志重定向到 Eclipse 控制台
【发布时间】: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


【解决方案1】:

您可以通过将 Eclipse 添加为外部工具来调用任何命令行进程。

首先,打开外部工具对话框:

然后,添加一个新工具...

并配置它来做你想做的事

然后您应该能够从外部工具菜单开始您的测试,并将所有输出定向到 Eclipse 控制台。

【讨论】:

  • 当我添加 maven 位置时收到错误 External tool location specified is not a file。另外,我们如何使用此配置运行单个测试用例?
  • 您使用的是什么操作系统?你为Location 指定了哪个位置(我把/path/of/maven/installation/mvn 放在哪里)?就我而言,我使用了/usr/share/java/maven-3.0.4/bin/mvn,但在不同的系统上可能会有所不同。在 Windows 上,这可能看起来更像 C:\path\to\maven\mvn.exe,但我不确定,因为我没有 Windows 环境来测试它。
  • 我可以让它工作。非常感谢您的回答。我不知道我们可以将外部进程附加到 eclipse
猜你喜欢
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 2018-10-28
  • 1970-01-01
  • 2019-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多