民间!
我是TestNG的新手,我正在尝试使用Maven(Surefire插件)和Eclipse。
当我的测试由Maven运行时,它的报告按预期放在target / surefire-reports上,但是在Eclipse TestNG插件运行时的相同测试我也希望将它们放在目标子文件夹中(和因此可以通过干净的Maven目标清理并被git忽略,而不是说尊重Maven文件夹组织),但总是转到默认的$ {basedir} / test-output。
我有办法吗?我更喜欢一个我不需要手动配置Eclipse设置的人(无法检测到它是否是Maven项目并因此一致地更改其输出文件夹?),但如果没有这样的方式,任何人肯定都会帮忙。
TIA和问候,
Heleno的
答案 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