测试策略:生成XML文件

时间:2009-10-21 03:17:31

标签: testing-strategies

我正在写几个生成xml文件的类。 (目前细节可能并不重要)。

我想知道最好的测试策略是什么。

  • 我不想重新编写xml生成代码只是为了比较输出,当我将文件写入磁盘并在某些里程碑进行比较时(xml规范不会经常更改,例如一次或两次每隔几年)
  • 我更感兴趣的是测试架构的行为而不是getters& setter方法

想到的选项:

  • 在测试环境中重建xml文件并比较字符串表示
  • 手动检查结果(写入文件等)
  • 在测试环境中重建内存中的xml文件并比较内存中的元素。

虚拟奖励,如果你知道任何C ++和/或Google Test的库。

想法?

4 个答案:

答案 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文件。