12
我是单元测试我的一个函数。这里是我的代码:在单元测试中添加模拟数据表
public void TestLabels()
{
//Step 1: Creating a mock table with columns exactly like in the real table.
DataTable table = new DataTable();
DataRow mydatarow;
mydatarow = table.NewRow();
//Step 2: Adding the row as same as the Real Data!
mydatarow["Name"] = "Test";
mydatarow["Address"] = "00000 ST.";
mydatarow["ZipCode"] = "77665";
mydatarow["Tracking#"] = "";
table.Rows.Add(mydatarow);
foreach (DataColumn column in table.Columns)
Console.WriteLine(column.ColumnName);
//Step 3: Call method we are testing.
var updateTable = IceTechUPSClient.Instance.CreateLabels(table);
foreach (DataRow row in updateTable.Rows)
{
var trackingNumber = row["Tracking#"].ToString();
Assert.IsFalse(String.IsNullOrWhiteSpace(trackingNumber), "Expecting tracking number generated for every row!");
Assert.IsTrue(File.Exists(trackingNumber + ".gif"));
}
}
现在我收到一个错误:列'名称'不属于表。正如你所看到的,我已经在这里指定了列名“Name”,并且还添加了特定的行。那为什么我得到这个错误?任何帮助?
谢谢!
uuummm ...我想我使用相同的代码。 – 2010-12-14 21:00:48
这是我创建列的地方:'DataRow mydatarow; mydatarow = table.NewRow(); //第2步:添加与真实数据相同的行! mydatarow [“Name”] =“测试”; mydatarow [“Address”] =“00000 ST。”; mydatarow [“ZipCode”] =“77665”; mydatarow [“Tracking#”] =“”;' – 2010-12-14 21:02:16
这里的列名是:姓名,地址,ZipCode和Tracking#。 – 2010-12-14 21:02:51