我有一个单元测试,其中包含需要与实际自定义对象进行比较的大量数据。因此,我必须创建一个预期的自定义对象并用大量数据填充它,现在我正在编码代码中的预期自定义对象。在某种情况下,我使用不同的数据集作为我正在测试的方法的输入进行测试。在对数据集进行分离时,我必须得到相对输出,这将是实际的响应(巨大的数据)。除了在代码中硬编码期望值之外,上述场景是否有最佳实践? (有些像XML或CSV)。
答案 0 :(得分:0)
您可以使用XmlSerializer
创建将序列化对象的代码。
您需要在应用程序运行时调用该代码,并且内存中有正确的对象。
将XML保存到文件中,并在XML中构建测试对象。</ p>
您可能有多个XML文件可以涵盖不同的场景。
在我的应用程序中,我有从外部Web服务导入数据的代码。我为服务响应对象生成了一些XML(它们非常庞大)并使用它们来测试我的解析逻辑。
更新:该技巧仅适用于实体对象。您无法序列化/反序列化使用文件或数据库的类。
您可以在这里找到示例代码。 http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm