我有一些在 Visual Studio 2010 中运行良好的数据驱动单元测试。这些测试是使用以下模式实现的。
[TestMethod()]
[DeploymentItem("path_to_data_dir_relative_to_solution\\my_data.xml")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\my_data.xml", "Token", DataAccessMethod.Sequential)]
public void MyTestMethod()
{
// Arrange
const string EXPECTED_PARAM_NAME = "table";
string data = TestContext.DataRow["Data"].ToString();
var sut = new MyClassUnderTest();
// Act
sut.DoSomething(data);
// Assert
Assert.IsTrue(sut.DidSomething);
}
这是我的解决方案结构。
- 我的解决方案文件夹
- 我的测试项目文件夹
- 我的测试数据文件夹
- my_data.xml
当我在 Visual Studio 2012 中运行相同的测试时,它们会失败并显示以下错误消息。
结果消息:单元测试适配器未能连接到数据源或读取数据。有关解决此错误的详细信息,请参阅 MSDN 库中的“数据驱动单元测试故障排除”( http://go.microsoft.com/fwlink/?LinkId=62412 )。错误详细信息:对象引用未设置为对象的实例。
为什么我的单元测试突然失败了?