我不是程序员,所以如果我的问题很容易为你们中的许多人解决,请原谅我们(但我仍然会觉得这很困惑)。
我遇到的问题是ci_reporter,一个与Watir和Test / Unit一起使用的gem。
它将测试结果从Watir测试输出到xml文件。到目前为止很棒。不幸的是,我找不到让ci_reporter在xml声明之后添加xsl样式表声明的方法。
<?xml version="1.0" encoding="UTF-8"?>
<testsuite time="6.796" assertions="1" name="TC_LoginTests" failures="0" tests="1" skipped="0" errors="0">
<testcase time="6.796" assertions="1" name="test_loginValid">
</testcase>
我想要它做的是:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<testsuite time="6.796" assertions="1" name="TC_LoginTests" failures="0" tests="1" skipped="0" errors="0">
<testcase time="6.796" assertions="1" name="test_loginValid">
</testcase>
我想也许会在某个地方设置一个参数,但是如果有的话我还没找到。每次手动添加样式表声明将非常繁琐。
这个问题有一个简单的解决方案吗?
答案 0 :(得分:0)
我认为如果不破解ci_reporter的来源,你将无法达到你想要的效果。 ci_reporter旨在输出JUnit格式的XML文件,并没有提供任何改变它的方法。
我会保留XML输出,然后使用其他东西来应用xsl转换作为辅助步骤。
答案 1 :(得分:0)
通过改变ci_reporter gem中的test_suite.rb文件,可以很容易地做到这一点。不确定它是多么合适,但它可以让它做我需要它。
在to_xml方法中,我们更改了以下行:
builder.instruct!
改为阅读
builder.instruct!
builder.instruct! 'xml-stylesheet', {:href=>'output.xsl', :type=>'text/xsl'}