Intellij IDEA控制台日志记录因TestNG运行/调试配置而中断

时间:2014-02-12 14:38:47

标签: java intellij-idea selenium-webdriver testng

出于某种原因,在运行/调试配置中,Intellij IDEA的“将控制台输出保存到文件”选项会因我的TestNG测试运行而被截断。其他海报指出,要实际查看所有测试的控制台输出,您必须在IDEA运行窗口中向下钻取,在包上单击+,在测试类上单击+等,然后单击每个测试方法看它的控制台输出。

EG: IntelliJ IDEA TestNG output console clears

和: Intellij not shows test results in console

但是我没有看到任何帖子解释如何将所有这些实际记录到一个日志文件中。我真的不明白为什么IDEA必须将一个测试运行的控制台分解到树中的这么多地方,看起来有点傻。

无论如何,我在日志文件中获取的只是我的初始化类输出,但没有任何后续测试(在树中向下钻取)。任何有关如何使IDEA日志记录与TestNG一起工作的建议都非常受欢迎。

3 个答案:

答案 0 :(得分:2)

  

我真的不明白为什么IDEA必须将一个测试运行的控制台分解到树中的这么多地方,看起来有点傻。

目的是让您看到与特定测试相关的输出。这样,当运行数十或数百个测试时,您可以专注于相关输出,而不是与您正在关注的特定测试无关的大量“噪音”。

  

但是,我没有在任何地方看到如何将所有这些实际记录到一个日志文件中的帖子。

这通常通过您的日志框架而不是IDE完成。 (但是有一种方法可以在IDEA中使用日志框架来实现这一点,我将在下面讨论。)另外,Logback是理想的,因为它会自动查找特定于测试的配置文件。当然,对于其他框架,您可以设置特定于测试的配置文件。

如果为运行测试创建运行/调试配置,则可以将日志文件的输出添加到运行输出工具窗口中的选项卡。在运行/调试配置中,单击Logs选项卡并添加日志记录框架写入的日志。您还可以对其进行设置,以便在选项卡中仅显示新/新输出,从而阻止您查看先前运行的日志记录。

您还可以选择“将控制台输出保存到文件”选项。

最后,您可以组合上述两个设置,以便将控制台输出记录到文件中,并在第二个选项卡中显示输出。

如果您希望其中一个设置为默认设置,则可以在默认的“单元测试”配置中进行设置。展开“运行/调试”配置窗口中的“默认”部分(运行>编辑配置)。在那里设置时,任何新的运行/调试单元测试配置(即使是通过 Ctrl + Shift + F10 动态创建的临时配置)也将具有那些设置。请注意,默认值仅适用于当前项目。如果要将设置设置为所有未来项目的全局默认设置,请从欢迎屏幕(即关闭所有项目)转到“配置”> “项目默认值”> “运行配置”并在那里进行设置。

答案 1 :(得分:1)

old bug影响IDEA的 TestNG 支持。无论您是在查看控制台输出还是记录到文件都无关紧要 - 无论如何输出都会被截断。随意投票:也许他们最终会解决它。

答案 2 :(得分:0)

这是因为您无法成功运行单元测试(由于异常,而不是预期的结果,错误)。单元测试成功运行后,输出将在控制台中。

我知道在控制台中添加系统输出可以帮助您通过单元测试进行调试,但遗憾的是IntelliJ不支持它。