【问题标题】:MSTest Unit Test Adapter Failing to Connect to Data Source When Tests From New Test Project Are Introduced to Solution将新测试项目中的测试引入解决方案时,MSTest 单元测试适配器无法连接到数据源
【发布时间】:2017-10-17 14:34:57
【问题描述】:

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

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,但它仍然失败。

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

【问题讨论】:

  • 我正在使用 VS 2015 和 MSTest v1.2.0
  • 2015更新号?
  • 其 VS Enterprise 2015 版本 14.0.25431.01 更新 3

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


【解决方案1】:

在尝试了几天的修复后,我偶然发现了一些似乎已经解决了这个问题的东西:

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

我真的不太了解 MSTest 的测试适配器、处理器架构兼容性,或者具体来说,是什么导致了这个问题,所以对此有更多了解的人可以指出这是否是一个合法的解决方案。

【讨论】:

  • 谢谢,但它并没有帮助我:( 将文件路径从"|DataDirectory|\\DataSource.xml" 更改为@"DataDirectory\DataSource.xml" 确实。但它仍然对我不起作用,我无法阅读来自TestContextDataRow 属性
【解决方案2】:

对我来说,问题是无论出于何种原因,我都没有选择测试设置文件。 测试 > 测试设置 > 选择测试设置文件 成功了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多