如何对 Xml 文件更新程序方法进行单元测试?
public static void AllowComp(string Name)
{
var xml = XDocument.Load(XmlPath);
var comp = xml.Descendants("components").Single(c => c.Attribute("key").Value == Name);
comp.Attribute("allow").Value = "yes";
xml.Save(XmlPath);
}
谢谢
我会删除XDocument.Load(xmlPath)和保存方法到它自己的接口。例如IXmlComputing。现在你可以编写几个测试了。
a. 存根 Load 方法并返回伪造的 xml 内容。单元测试条件
var comp = xml.Descendants("components").Single(c => c.Attribute("key").Value == Name);
comp.Attribute("allow").Value = "yes";
b. 确保 .保存(XmlPath);被称为。创建 IXmlComputing 的模拟并验证 .调用保存方法。
public interface IXmlComputation
{
public XDcoument Load(string xmlPath);
public void Save(string xmlPath);
}