在我的CI服务器中,我正在实现一些日志记录/审计功能 - 在每次Fit测试运行后,在TearDown页面中我将一些内容记录到数据库 - 测试名称,TimeStamp,一些变量;如果测试失败或通过,我还想记录 - 似乎没有找到FitNess中随时可用的任何全局变量。谁能给我一些想法呢?
谢谢! O.
答案 0 :(得分: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&resultDate=latest&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(无耻的自我推销)。