C# 单元测试适配器无法连接到数据源

C# 单元测试适配器无法连接到数据源,c#,xml,unit-testing,visual-studio-2013,vs-unit-testing-framework,C#,Xml,Unit Testing,Visual Studio 2013,Vs Unit Testing Framework,我的单元测试数据源有问题。我想用XML保存这些记录。据我所知,这是受支持的,但我一直收到这个错误“单元测试适配器未能连接到数据源…” 我已按如下方式设置了我的app.config: <configuration> <configSections> <section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestC

我的单元测试数据源有问题。我想用XML保存这些记录。据我所知,这是受支持的,但我一直收到这个错误“单元测试适配器未能连接到数据源…”

我已按如下方式设置了我的app.config:

<configuration>
  <configSections>
    <section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </configSections>
  <connectionStrings>
    <add name="PersonTestData" connectionString="Dsn=XML Files;dbq=PersonTestData.xml;defaultdir=.\; driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc" />
  </connectionStrings>
  <microsoft.visualstudio.testtools>
    <dataSources>
      <add name="PersonTestData" connectionString="PersonTestData" dataTableName="PersonData" dataAccessMethod="Sequential"/>
    </dataSources>
  </microsoft.visualstudio.testtools>
</configuration>
最后是XML文件本身:

<?xml version="1.0" encoding="utf-8" ?>
<PersonData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Person>
    <LastName>Jones</LastName>
    <FirstName>Bill</FirstName>
    <Age>24</Age>
  </Person>
  <Person>
    <LastName>West</LastName>
    <FirstName>John</FirstName>
    <Age>24</Age>
  </Person>
  <Person>
   <LastName>Jones</LastName>
   <FirstName>Bill</FirstName>
   <Age>24</Age>
  </Person>
</PersonData>

琼斯
比尔
24
西部
约翰
24
琼斯
比尔
24

不确定我在这一点上错在哪里。

我认为您不需要ODBC连接字符串来读取xml文件。只需使用DataSource属性,如下所示。还有“PersonTestData.xml”属性。CopyToOutputDirectory设置为“CopyAlways”


您是否尝试过为.xml文件提供一个绝对路径以查看它是否只是一个位置问题?您知道我不需要OBDC的东西。现在效果很好。
<?xml version="1.0" encoding="utf-8" ?>
<PersonData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Person>
    <LastName>Jones</LastName>
    <FirstName>Bill</FirstName>
    <Age>24</Age>
  </Person>
  <Person>
    <LastName>West</LastName>
    <FirstName>John</FirstName>
    <Age>24</Age>
  </Person>
  <Person>
   <LastName>Jones</LastName>
   <FirstName>Bill</FirstName>
   <Age>24</Age>
  </Person>
</PersonData>
[TestClass]
public class UnitTest1
{
    private TestContext testContextInstance;
    public TestContext TestContext
    {
        get { return testContextInstance; }
        set { testContextInstance = value; }
    }

    [TestMethod]
    [DeploymentItem("PersonTestData.xml")]
    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
               "|DataDirectory|\\PersonTestData.xml",
               "Person",
                DataAccessMethod.Sequential)]
    public void CompareToTest()
    {
        var row = TestContext.DataRow;
        var firstName = row["FirstName"].ToString();
        var lastName = row["LastName"].ToString();

        //Asserts...                 
    }
}