将新测试项目的测试引入解决方案时,MSTest 单元测试适配器无法连接到数据源
MSTest Unit Test Adapter Failing to Connect to Data Source When Tests From New Test Project Are Introduced to Solution
我有一个测试解决方案,其中包含两个单元测试项目。两个项目目录的设置方式与 运行 数据驱动测试相同:
项目 1 -> 测试数据 -> 项目 1 测试数据 -> MyTestData.xml
每个方法都有:
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
@"|DataDirectory|\TestData\Project1TestData\MyTestData.xml",
"test",
DataAccessMethod.Sequential)
]
每个项目还有一个 app.config 文件,用于在 TestInitialize 方法期间进行设置。在引入第二个测试项目后,尝试运行在该项目中创建的测试方法,我不断收到消息:
结果消息:
The unit test adapter failed to connect to the data source or to read the data. Error details: Object reference not set to an instance of an object.
但是,我在 TestProject1 中的测试工作正常。我已将 运行 TestProject2 中的测试所需的所有文件的 CopyToOutputDirectory 设置为 CopyAlways,但它仍然失败。
我想知道是否有任何方法可以解决这个问题,或者我是否需要为我的第二个测试项目创建一个单独的解决方案,以便使测试正确地达到 运行?
在尝试了几天的修复之后,我偶然发现了一些似乎已经解决了这个问题的东西:
转到测试 -> 测试设置 -> 默认处理器架构 -> 将 x86 更改为 x64
我不太了解 MSTest 的测试适配器、处理器架构兼容性,或者具体来说,是什么导致了这个问题,所以对此了解更多的人可以插话这是否是一个合法的解决方案.
对我来说,问题是出于某种原因,我没有选择测试设置文件。 测试 > 测试设置 > Select 测试设置文件 成功了。
我有一个测试解决方案,其中包含两个单元测试项目。两个项目目录的设置方式与 运行 数据驱动测试相同:
项目 1 -> 测试数据 -> 项目 1 测试数据 -> MyTestData.xml
每个方法都有:
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
@"|DataDirectory|\TestData\Project1TestData\MyTestData.xml",
"test",
DataAccessMethod.Sequential)
]
每个项目还有一个 app.config 文件,用于在 TestInitialize 方法期间进行设置。在引入第二个测试项目后,尝试运行在该项目中创建的测试方法,我不断收到消息:
结果消息:
The unit test adapter failed to connect to the data source or to read the data. Error details: Object reference not set to an instance of an object.
但是,我在 TestProject1 中的测试工作正常。我已将 运行 TestProject2 中的测试所需的所有文件的 CopyToOutputDirectory 设置为 CopyAlways,但它仍然失败。
我想知道是否有任何方法可以解决这个问题,或者我是否需要为我的第二个测试项目创建一个单独的解决方案,以便使测试正确地达到 运行?
在尝试了几天的修复之后,我偶然发现了一些似乎已经解决了这个问题的东西:
转到测试 -> 测试设置 -> 默认处理器架构 -> 将 x86 更改为 x64
我不太了解 MSTest 的测试适配器、处理器架构兼容性,或者具体来说,是什么导致了这个问题,所以对此了解更多的人可以插话这是否是一个合法的解决方案.
对我来说,问题是出于某种原因,我没有选择测试设置文件。 测试 > 测试设置 > Select 测试设置文件 成功了。