我有一个奇怪的问题 - 我有一些jUnit测试可以生成标准输出的日志,这很好 - 那些打印到控制台等等。但对于集成部分,我需要将它们包含在target/surefire-report/TEST-<class>.xml
中。对于失败的测试,有<system-out>
和<system-err>
,但是对于通过的测试,这两个测试都缺失了。现在我已经两天挣扎着没有运气了。似乎没有任何属性(<redirectTestOutputToFile>true</redirectTestOutputToFile>
除外,它的工作方式略有不同,并创建了单独的-output
文件,这些文件不是jenkins选择的),可以解决这个问题。
答案 0 :(得分:0)
如果你最关心关于 Jenkins 的报告,这是由 Jenkins JUnit plugin 生成的,它有这样一个选项:
<块引用>保留长标准输出/错误:如果选中,则在构建完成后,测试套件的任何标准输出或错误都将保留在测试结果中。 (这仅指打印到控制台的附加消息,而不是故障堆栈跟踪)。如果测试失败,则始终保留此类输出,但默认情况下,通过测试的冗长输出将被截断以节省空间。如果您需要查看甚至通过测试的每条日志消息,请选中此选项,但要注意 Jenkins 的内存消耗可能会因此显着增加,即使您从不查看测试结果!
参数(用于管道)是 keepLongStdio
例如
for index,i in enumerate(li):
index = index+1
if index % 3 == 0: print(i)
答案 1 :(得分:-2)
我建议使用完全用于此目的的redirectTestOutputToFile配置项。但它会重定向到一个单独的文件。
在那里你会找到stdout等的输出reportsDirectory/testName-output.txt