下一个功能是根据文档中的数据创建一个列表。
我需要进行一些单元测试,但是不知道如何针对此特定功能进行实际测试。我到处都读过,但还是没有运气。
public List<Info> getInfo()
{
XDocument doc = loadDocument();
var variable = (from elem in doc.Descendants("Information").Elements()
select new Info
{
Include = elem.Element("Include") != null && (elem.Element("Include").Value.Equals("true") || elem.Element("Include").Value.Equals("false")) ? Convert.ToBoolean(elem.Element("Include").Value) : false,
InfoName = elem.Element("Name") != null ? elem.Element("Name").Value : String.Empty,
StartDate = elem.Element("StartDate") != null ? elem.Element("StartDate").Value : String.Empty,
EndDate = elem.Element("EndDate") != null ? elem.Element("EndDate").Value : String.Empty,
Mark = elem.Element("Mark") != null ? Convert.ToDouble(elem.Element("Mark").Value) : Double.NaN
}
).ToList();
return variable;
}
public XDocument loadDocument()
{
XDocument doc = XDocument.Load("info.xml");
return doc;
}
答案 0 :(得分:0)
我认为您需要做的是创建一个单元测试。
[TestMethod]
public void CheckMyData()
{
var _info = GenerateData();
Assert.IsTrue(_info.Include == true); //Mock condition to fulfill.
Assert.IsFalse(_info.InfoName.Contains("test1_Name"));
//... and so on...
//You can also check for the expected type of values.
}
private Info GenerateData()
{
var data = new Info
{
//We set some mokup values here
Include = true,
InfoName = "test_NAME",
StartDate = "12-12-2005",
EndDate = "14/12/2005",
Mark = 12
}
return data;
}
答案 1 :(得分:0)
This正是您需要的。 该模拟框架具有模拟LinQ函数的独特功能。 您还可以将代码示例发送给他们的支持,他们将指导您如何正确进行操作