【发布时间】:2018-07-29 17:27:26
【问题描述】:
我已经简化了我的问题。
我有一个包含如下数据的文本文件
package1| class1 | test case1 | Pass | endpoint | ref no |
package1| class1 | test case2 | Pass | endpoint | ref no |
package2| class2 | test case1 | Fail | endpoint | ref no | fail reason
package3| class3 | test case2 | | | |
我想从上面创建一个 xml,而如下所示。 每当 field1 与上一行 field1 不同时的逻辑创建一个 节点并在其下测试用例。如果字段 4 为空,则测试被计为错误。我想在包级别(即 节点)记录测试用例的数量、错误和失败的数量。并记录每个 节点的测试用例、错误和失败数
<?xml version="1.0" encoding="UTF-8"?>
<testsuites errors="1" failures="1" tests="4">
<testsuite name="package1" errors="0" failures="0" tests="2">
<Testcase>
<class>class1</class>
<name>Testcase1</name>
<Result>Pass</Result>
<FailReason></FailReason>
</testcase>
<Testcase>
<class>class2</class>
<name>Testcase2</name>
<Result>Pass</Result>
<FailReason></FailReason>
</testcase>
</TestSuite>
<testsuite name="package2" errors="0" failures="1" tests="1">
<Testcase>
<class>class1</class>
<name>Testcase1</name>
<Result>Fail</Result>
<FailReason>FailReason</FailReason>
</testcase>
</TestSuite>
<testsuite name="package3" errors="1" failures="0" tests="1">
<Testcase>
<class>class1</class>
<name>Testcase1</name>
<Result>Fail</Result>
<FailReason>Error</FailReason>
</testcase>
</TestSuite>
</Testsuites>
`
我正在使用 awk 创建尝试了这么多代码,但都没有成功,我不确定我应该把哪个代码放在这里,我尝试了将近 6 个小时的工作,但无法弄清楚如何去做,现在干了。任何帮助表示赞赏。 任何脚本解决方案都很好,不仅是 awk。
【问题讨论】:
-
不清楚,能否请您在帖子中向我们展示所有条件的预期输出。
-
@RavinderSingh13 我已经编辑了帖子,请看看是否清楚。感谢您的帮助
-
你的问题能再简洁一点吗?我敢肯定,当它到来时,答案绝对是微不足道的,但我没有时间试图弄清楚你想要做什么,我怀疑其他人也没有,因为你没有答案,到目前为止 5 小时发布问题后。还要确保对所有示例输入/输出使用与用于代码和一些示例相同的 4 空格缩进,这样它们都清晰易读,我们可以直接复制/粘贴以进行测试。
-
@EdMorton 我已经编辑并明确了问题。
-
您还应该包括您迄今为止尝试过的内容,并确保您发布的预期输出可以从您的示例输入中生成(在您的情况下,idk 输出中的“错误”是什么,但我怀疑您没有不需要它来学习如何解决您的问题,并且您的输出中的大写/小写与您的输入不匹配,而且“错误”不知从何而来,作为 FailReason 出现)。见How to Ask。