当新测试项目的测试被引入解决方案时,MSTest单元测试适配器无法连接到数据源

时间:2017-10-17 14:34:57

标签: c# .net unit-testing visual-studio-2015 mstest

我有一个测试解决方案,其中包含两个单元测试项目。两个项目目录的设置方式与运行数据驱动测试的方式相同:

Project1 - > TestData - > Project1TestData - > MyTestData.xml

每个方法都有:

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
    @"|DataDirectory|\TestData\Project1TestData\MyTestData.xml",
    "test",
    DataAccessMethod.Sequential)
]

每个项目还有一个app.config文件,用于在TestInitialize方法期间进行设置。在介绍第二个测试项目并尝试运行在该项目中创建的测试方法之后,我不断收到一条消息:

结果讯息:

  

单元测试适配器无法连接到数据源或读取数据。错误详细信息:对象引用未设置为对象的实例。

但是,我从TestProject1的测试工作得很好。我已经在TestProject2中运行测试所需的所有文件上将CopyToOutputDirectory设置为CopyAlways,但它仍然失败。

我想知道是否有办法解决这个问题,或者我是否需要为我的第二个测试项目创建一个单独的解决方案,以使测试运行正常?

2 个答案:

答案 0 :(得分:1)

在试图找到几天修复后,我偶然发现了一些似乎已经解决了这个问题:

转到测试 - >测试设置 - >默认处理器架构 - >将x86更改为x64

我真的不太了解MSTest的测试适配器,处理器架构兼容性,或者特别是造成这个问题的原因,所以对此有更多了解的人可以说明这是否是合法的解决方案。

答案 1 :(得分:0)

对我来说,问题在于无论出于什么原因,我都没有选择测试设置文件。 测试>测试设置>选择测试设置文件就可以了。