2012-10-17 75 views
0

在我的CI服务器中,我正在实施一些日志记录/审计功能 - 在每次Fit测试运行后,在TearDown页面中记录一些东西到DB - 测试名称,TimeStamp,一些变量;我还想记录测试失败或通过 - 似乎没有发现FitNess中可用的任何全局变量,这将有所帮助。任何人都可以给我一些想法如何做到这一点?在FitNesse中 - 有没有一种方法可以以编程方式查看测试是否失败/通过

谢谢! O.

回答

2

TearDown不知道测试是否通过或失败。这只有在测试完成后才由FitNesse知道。你可以做的是运行获取最后一次执行为XML,然后解析。这是从ANT剪下来的,会做这样的事情。

<!--Then run the page history responder to get the latest run of fitnesse in xml format--> 
     <java classpath="${toString:compile.classpath};build\classes" fork="true" jar="javalib/fitnesse.jar" maxmemory="256m" output="${fitnesse.output.file}.temp"> 
      <arg value="-c" /> 
      <arg value="${fitnesseSuite}?pageHistory&amp;resultDate=latest&amp;format=xml" /> 
      <arg value="-p" /> 
      <arg value="${fitnesse_port}" /> 
     </java> 

一个问题是,在您获取它之后,您必须从创建的临时文件中去除http标头。但是一旦你这样做了,你可以使用你的数据库的测试结果数据。你也可以创建junit风格的结果。看看这个转变为junit的例子:http://whotestedthis.squarespace.com/journal/2012/1/26/transforming-fitnesse-results-to-junit.html(无耻的自我推销)。

+0

谢谢!这看起来很有趣,我一定会研究它 - 可能会尝试添加一些新的函数到我们的测试助手灯具来解析该文件,所以我可以在CI运行结束时运行“最终”日志记录套件并获取所有的数据 –

相关问题