我正在写几个生成xml文件的类。 (目前细节可能并不重要)。
我想知道最好的测试策略是什么。
想到的选项:
虚拟奖励,如果你知道任何C ++和/或Google Test的库。
想法?
答案 0 :(得分:3)
您是否考虑过使用XSD并将XML验证到XSD?你没有提到它是你正在测试的内容或结构(可能两者) 如果它验证,它将测试XML的结构是否符合所需的结构。
答案 1 :(得分:2)
过去我接触过这两种方式:
将xml文件与作为测试文件中的字符串存储的结果进行比较。这很容易实现,除非您想为测试目的生成xml文件的变体,否则字符串比较方法可以正常工作。
如果您有xml文件编写器和阅读器,则可以将原始文件与往返结果进行比较。
我同意你的意见,你不应该复制逻辑来在测试函数中生成文件,只是为了测试。另外,我会尽量避免写入文件系统 - 这是对文件系统的不必要依赖,并且可能会导致运行测试速度变慢。
答案 2 :(得分:1)
您可以考虑使用XML diff工具。 MSDN上有一个免费的:XML Diff and Patch Tool。
我发现你正在寻找C ++工具。在这种情况下,libxmldiff可能更合适。
答案 3 :(得分:1)
您可以考虑使用XML单元:http://xmlunit.sourceforge.net。 它提供了JUnit扩展类,可用于断言相等性 的XML文件。