单元测试数据生成的最佳做法

本文关键字:最佳 测试数据 单元 | 更新日期: 2023-09-27 18:36:16

我有一个单元测试,其中包含需要与实际自定义对象进行比较的大量数据。所以我必须创建一个预期的自定义对象并用大量数据填充它,现在我正在代码中对预期的自定义对象进行硬编码。有一种情况是,我使用不同的数据集进行测试,作为我正在测试的方法的输入。在数据集上,我必须获得相对输出,这将是实际响应(大量数据)。除了在代码中硬编码预期值之外,对于上述方案是否有任何最佳实践?(一些像XML或CSV的东西)。

单元测试数据生成的最佳做法

您可以使用 XmlSerializer 创建序列化对象的代码。

您需要在应用程序运行时调用该代码,并且内存中有正确的对象。

将 XML 保存到文件中,并从 XML 构造测试中的对象。

您可能有多个可以涵盖不同方案的 XML 文件。

在我的应用程序中,我有从外部 Web 服务导入数据的代码。我为服务响应对象生成了一些 XML(它们很大),并使用它们来测试我的解析逻辑。

更新:该技巧仅适用于实体对象。不能序列化/反序列化处理文件或数据库的类。

在这里,您可以找到示例代码。http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm