.net 单元测试中使用 xml 文件作为DataSource

The XML file

<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);
}
原文地址:https://www.cnblogs.com/xixiuling/p/13535304.html