<分区>
我目前正在开发一个 CLI 实用程序,我觉得它可以通过添加一个框架得到很大改进。
基本上,该实用程序围绕大量命令行语法和解析输出展开。目前,代码散布在许多单独的内部 run() 和 readFromRunOutput() 调用中,这些调用带有硬编码的 CLI 参数。
例如:
op=run("command -args");
while(readFromRunOutPUr(op))
{
// Process and take result from output
if(op=="result-one")
dothis();
else if(op=="result-two")
dothat();
}
我想以此为基础创建一个通用框架,其中 以下是通过 XML 文件从代码外部输入的。 1) 测试名称 2)命令行调用 3) 成功所需的输出
所以假设一个简单的 XML 调用...
<Test name=FirstTest>
<CLI="command -args">
<Success Output= "value" >
</Success>
</CLI>
</Test>
是的。在上面的例子中有一些问题需要担心,但我想我已经给出了它的要点。基本上我想将所有不同的 CLI 调用移动到代码之外,然后将它们输入(带有成功和失败的标准)。由于许多其他原因,我不能使用任何脚本语言,如 perl 或 python,并且必须使用 C/C++ 维护产品。
据我了解,要求是
Defined XML syntax
Parser for the above XML spec to memory
Get CLI -----> and invoke
Read Output and compare with the fed in values
(Preferably cross platform support)
像这样的实现不仅可以标准化所有不同的单独函数调用,还可以在不更改任何代码的情况下轻松扩展。
现在我的问题是,是否有任何现成的免费库(用于 C++)可用,它们已经提供了我可以扩展的类似或基本模板框架。最好有第一手经验。还有其他指导吗?