2012-07-25 109 views
2

我在jenkins中使用鼻子来测试项目。如果测试失败,我会得到输出到控制台的简短报告。无论测试结果如何,我都希望得到这个输出。所以,即使测试通过,我希望能够看到测试输出到stderr/stdout。将日志记录添加到jenkins的测试结果中

此刻我可以通过调用鼻子--nocapture来关闭日志记录。然而这会导致jenkins在默认情况下创建的项目控制台日志下的所有输出结果。我如何告诉鼻子/捕获以将捕获的输出附加到Jenkins中显示的每个测试结果? 我使用xunit来生成junit兼容xml文件,Jenkins将其用于生成其报告。

编辑:其他相关信息,如詹金斯要求

地址(后buildnumber部分):

/testReport/testDesignParser.testDesignCsvParser.testDesignCsvParser/testDesignCsvParser/test/?

我知道,这样的设计是不漂亮,但多数民众赞成它的现在。如果很重要:

 
`testDesignParser.testDesignCsvParser.testDesignCsvParser` module 
`testDesignCsvParser`          class 
`test`              (member)testfunction
+0

这没有任何意义。如何将输出添加到测试用例中?测试用例是Python代码,并且说“向Python代码添加捕获的输出”没有意义。 – 2012-07-25 09:57:39

+0

Jenkins向您显示结果的简短报告,如果控制台输出在此报告中失败,我希望此输出也包含在测试成功的情况下。为了在Jenkins和鼻子之间架起桥梁,我使用'xunit'来生成一个junit,如testfile – ted 2012-07-25 10:29:55

+0

您引用了哪个Jenkins报告?请告诉我们项目名称后面的URL(例如'/ lastBuild/testReport /') – 2012-07-25 11:59:31

回答

2

使用最新的Jenkins,可以在属于JUnit的后构建步骤下正确保存输出(保留长标准输出/错误)。另外我跑--nocapture鼻子。这给我一个每个测试的控制台输出视图(当我打开一个测试时,在左侧菜单上有一个选项)

1

从测试中无法实现此目的。报告生成器不会显示输出,除非有错误。

您将必须获取Jenkins本身的源代码(JUnit runner内置于其中)并修补记者或编写自己的插件。

+0

这是令人失望的......我认为鼻子捕获吃掉了所有东西,而不是吃詹金斯。在我将其标记为已接受之前,我必须先让它静置一秒钟,现在+1。 – ted 2012-07-25 14:00:48

+1

我在Java中看不到成功的JUnit测试的输出。所以你需要补丁(鼻子和詹金斯)。或提交功能请求;能够看到成功测试的输出不应该很难实现,并且可能非常方便。 – 2012-07-26 09:13:53

相关问题