<Rows>
<Row>
<A1>1</A1>
<A2>1</A2>
<Result>2</Result>
</Row>
<Row>
<A1>1</A1>
<A2>2</A2>
<Result>3</Result>
</Row>
<Row>
<A1>1</A1>
<A2>-1</A2>
<Result>1</Result>
</Row>
</Rows>
DeploymentItem 中的路径可以是绝对路径,也可以是相对路径,相对路径的话要确认当前路径位置,一般在测试Dll 所在的位置。
DataSource 中的ConnectString 指的也是xml 文件,当前目录之下的目录都可以被搜索到 "|DataDirectory|\" 我试了一下也可以不要
。
[TestMethod]
[DeploymentItem("ProjectName\SumTestData.xml")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
"|DataDirectory|\SumTestData.xml",
"Row",
DataAccessMethod.Sequential)]
public void SumTest()
{
int a1 = Int32.Parse((string)TestContext.DataRow["A1"]);
int a2 = Int32.Parse((string)TestContext.DataRow["A2"]);
int result = Int32.Parse((string)TestContext.DataRow["Result"]);
ExecSumTest(a1, a2, result);
}
private static void ExecSumTest(int a1, int a2, int result)
{
Assert.AreEqual(a1 + a2, result);
}