2 qq 34869877 qq_34869877 于 2016.05.10 11:50 提问

使用visual studion2010做单元测试,数据源为csv,运行结果报错

一个简单的乘法例子
///
///Multiply 的测试
///
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\MultiplyTest.csv", "MultiplyTest#csv", DataAccessMethod.Sequential), DeploymentItem("UTProject\MultiplyTest.csv"), TestMethod()]
public void MultiplyTest1()
{
int a = (int)TestContext.DataRow["a"]; // TODO: 初始化为适当的值
int b = (int)TestContext.DataRow["b"]; // TODO: 初始化为适当的值
int expected = (int)TestContext.DataRow["c"]; // TODO: 初始化为适当的值
int actual;
actual = MathUtility.Multiply(a, b);
Assert.AreEqual(expected, actual);
//Assert.Inconclusive("验证此测试方法的正确性。");
}
数据源是csv,运行结果报错:
未通过 00:00:00.0672983 0 测试方法 UTProject.MathUtilityTest.MultiplyTest1 引发了异常:
System.ArgumentException: 列“a”不属于表 。
csv文档中数据
图片说明

1个回答

silehaixianghuirenj
silehaixianghuirenj   2016.10.08 01:27

aSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\MultiplyTest.csv", "MultiplyTest#csv", DataAccessMethod.Sequential), DeploymentItem("UTProject\MultiplyTest.csv"), TestMethod()]
public void MultiplyTest1()
{
int a = (int)TestContext.DataRow["a"]; // TODO: 初始化为适当的值
int b = (int)TestContext.DataRow["b"]; // TODO: 初始化为适当的值
int expected = (int)TestContext.DataRow["c"]; // TODO: 初始化为适当的值
int actual;
actual = MathUtility.Multiply(a, b);
Assert.AreEqual(expected, actual);
//Assert.Inconclusive("验证此测试方法的正确性。");
}
数据源是csv,运行结果报错:

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!