在FitNesse中 - 有没有办法以编程方式查看测试是否失败/通过

时间:2012-10-17 19:54:25

标签: fitnesse

在我的CI服务器中,我正在实现一些日志记录/审计功能 - 在每次Fit测试运行后,在TearDown页面中我将一些内容记录到数据库 - 测试名称,TimeStamp,一些变量;如果测试失败或通过,我还想记录 - 似乎没有找到FitNess中随时可用的任何全局变量。谁能给我一些想法呢?

谢谢! O.

1 个答案:

答案 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&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(无耻的自我推销)。