如何将TestNG test-output文件夹配置为Maven目标文件夹?

时间:2014-04-10 18:50:13

标签: java eclipse maven testng

民间!

我是TestNG的新手,我正在尝试使用Maven(Surefire插件)和Eclipse。

当我的测试由Maven运行时,它的报告按预期放在target / surefire-reports上,但是在Eclipse TestNG插件运行时的相同测试我也希望将它们放在目标子文件夹中(和因此可以通过干净的Maven目标清理并被git忽略,而不是说尊重Maven文件夹组织),但总是转到默认的$ {basedir} / test-output。

我有办法吗?我更喜欢一个我不需要手动配置Eclipse设置的人(无法检测到它是否是Maven项目并因此一致地更改其输出文件夹?),但如果没有这样的方式,任何人肯定都会帮忙。

TIA和问候,

Heleno的

4 个答案:

答案 0 :(得分:10)

testng插件无法自动识别出来。

您可以在工作区或项目级别设置testng首选项。如果您在工作台级别设置它,那么对于所有项目,默认情况下,testng会将结果放在那里。

转到Window-> Prefs-> TestNG 将输出目录更改为与maven输出目录相同。

答案 1 :(得分:4)

你可以按照niharika_neo告诉的方式...... 另外,您还可以创建为您执行的每个maven运行创建的启用时间戳的文件夹,因此不会让您的testng报告给您带来太多麻烦。如果仍然困扰将testng报告放到特定文件夹中。

您可以在pom中提供另一个文件夹 -

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <timestamp>${maven.build.timestamp}</timestamp>
        <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
    </properties>

并在你的maven-surefire-plugin put -

的配置下
<reportsDirectory>./test-output/${timestamp}</reportsDirectory>

答案 2 :(得分:0)

您需要按http://testng.org/doc/documentation-main.html#logging-xml-reports所述重新配置XML Reporter以设置outputDirectory属性。

从该页面开始:

  

要配置此报告者,您可以使用-reporter选项   在命令行或具有嵌套的Ant任务中   元件。对于其中每个,您必须指定类   org.testng.reporters.XMLReporter。请注意,你不能   配置内置报告器,因为这个只使用默认值   设置。如果您只需要具有自定义设置的XML报告   必须使用两种方法之一手动添加并禁用   默认的侦听器。

目前尚不清楚这是如何转换为Maven Surefire插件的配置。

答案 3 :(得分:0)

我有同样的问题,我通过转到Window-&gt;解决了这个问题。偏好 - &gt; TestNG的 从那里我检查标记的绝对输出路径并在输出目录中输入绝对路径。例如C:\ TestResults