我有一个XML文件,我想基于一些单元测试。目前我在类initialize方法中从磁盘加载XML文件。我宁愿在测试中生成这个XML,而不是从磁盘读取文件。是否有任何实用程序会自动生成LINQ to XML代码以生成给定的XML文件?
或者有更好的方法吗?从磁盘加载是否正常进行单元测试?
答案 0 :(得分:2)
我会将XML文件直接嵌入到程序集中 - 不需要字符串资源或类似的东西,只需将其作为嵌入式资源包含(创建文件,转到Visual Studio中的属性,然后选择“嵌入式资源”) “)。
然后你可以使用Assembly.GetManifestResourceStream
阅读它,从中加载XML,就像你在任何其他流中一样,然后你就离开了。
我已经多次使用过这种技术了 - 这样可以更容易地看到你感兴趣的数据。
答案 1 :(得分:0)
可能最好使用一些资源文件,例如,.resx
文件,其中您将XML作为字符串资源。这对于单元测试来说足够快,你不需要做任何魔术。由于各种原因(速度,配置需求等)从磁盘读取不正确。