单元测试 LINQ to Xml 方法



如何对 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);
}

最新更新