如何从Jenkins向JSON格式的某个端点发送有关Fitnesse测试执行情况的报告?

时间:2017-08-03 13:34:53

标签: json jenkins fitnesse

我有一项任务是以某种特定的JSON格式向特定端点发送定期执行Fitnesse测试的报告。我在Jenkins属性中定期执行测试并将其保存在xml中,但现在我需要解析有关它的结果的信息。它不能只是步入"后建造"詹金斯的财产(或者可以,但我不知道它的插件),但它会是什么,我怎么能这样做?特别是,我不需要有关测试的信息,只需要测试日期,通过率,状态,项目名称等一般时刻。 我可以在哪个方向寻找答案? 谢谢。

2 个答案:

答案 0 :(得分:0)

FitNesse附带一个jUnit运行器,允许您执行测试/套件。如果您创建一个使用@RunWith(FitNesseRunner.class)注释的测试类并将其执行包含在Jenkins Maven作业中(其中jUnit类由surefire或failsafe插件执行),则执行的测试结果将由Jenkins自动获取,就像它接受其他/常规jUnit测试一样(因为surefire或failsafe会将它们包含在他们的XML报告中,而Jenkins会选择这些)。

您可以在https://github.com/fhoeben/sample-fitnesse-project使用此方法(稍微定制的版本)找到Maven FitNesse示例项目。如何在Jenkins上运行测试在https://github.com/fhoeben/hsac-fitnesse-fixtures#to-run-the-tests-on-a-build-server

中有所描述
  

让构建服务器签出项目并执行mvn clean test-compile failsafe:integration-test。 JUnit XML结果的结果可以在target/failsafe-reports中找到(Jenkins将自动为Maven作业选择这些结果)

您表示您不需要HTML结果,但它们将可用。可以在target/fitnesse-results/index.html找到它们,您可以选择使用' HTML发布商' Jenkins插件可以从每个版本链接到它们。

答案 1 :(得分:0)

我认为解决此问题的最佳方法是创建一个解析XML文件的脚本,并创建所需的JSON文件。我们通常使用python脚本。

如果您需要脚本中构建的某些通用信息(例如内部版本号),则可以使用Jenkins环境将其传递给脚本。

要调用脚本,只需添加批处理或shell步骤,并将其放在fitnesse构建步骤下面,以确保在调用脚本之前生成XML。