C# 为什么数据驱动的单元测试在vs2012中失败,而在vs2010中却运行良好?

C# 为什么数据驱动的单元测试在vs2012中失败,而在vs2010中却运行良好?,c#,visual-studio-2010,visual-studio-2012,data-driven-tests,deploymentitem,C#,Visual Studio 2010,Visual Studio 2012,Data Driven Tests,Deploymentitem,我有一些数据驱动的单元测试,它们在VisualStudio2010中运行得很好。这些测试是使用以下模式实现的 [TestMethod()] [DeploymentItem(“路径\u到\u数据\u目录\u相对\u到\u解决方案\\my\u data.xml”)] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.XML”,“|DataDirectory | \\my_data.XML”,“Token”,DataAccessMetho

我有一些数据驱动的单元测试,它们在VisualStudio2010中运行得很好。这些测试是使用以下模式实现的

[TestMethod()]
[DeploymentItem(“路径\u到\u数据\u目录\u相对\u到\u解决方案\\my\u data.xml”)]
[DataSource(“Microsoft.VisualStudio.TestTools.DataSource.XML”,“|DataDirectory | \\my_data.XML”,“Token”,DataAccessMethod.Sequential)]
公共void MyTestMethod()
{
//安排
应为常量字符串\u参数\u NAME=“table”;
字符串数据=TestContext.DataRow[“数据”].ToString();
var sut=新的MyClassUnderTest();
//表演
剂量测定法(数据);
//断言
断言是真的(sut.didtomething);
}
这是我的解决方案结构

  • MySolutionFolder
    • MyTestProjectFolder
    • MyTestDataFolder
      • my_data.xml
当我在Visual Studio 2012中运行相同的测试时,它们失败并显示以下错误消息

结果消息:单元测试适配器未能连接到数据源或读取数据。有关此错误的疑难解答的详细信息,请参阅MSDN库中的“数据驱动单元测试疑难解答”()。错误详细信息:对象引用未设置为对象的实例


为什么我的单元测试突然失败?

在Visual Studio 2010中,
DeploymentItem
属性与解决方案相关,但在Visual Studio 2012中,它与项目相关。只需指定相对于项目文件夹的
DeploymentItem
路径,单元测试就会重新开始工作

有关更多信息,请参阅以下链接