【问题标题】:Visual Studio Ms test runner fails to find assembliesVisual Studio Ms 测试运行程序找不到程序集
【发布时间】:2017-04-22 13:54:31
【问题描述】:

我在 Visual Studio 中的所有测试都失败了。它们由 VS Ms 测试运行器执行。

问题是即使在项目中引用了 dll 并将它们的本地复制设置为 True,但它们并没有被复制到 Ms 测试运行器调试文件夹。

我正在使用部署设置为 true 的测试设置文件。

当我运行测试时,Ms test runner 创建了一个 TestResults 文件夹并将 Debug 文件夹的内容复制到 TestResults/out 文件夹中。然而,并非所有的 dll 都被复制过来。就好像 MS 测试运行器只复制选择性 dll 而不是第三方库。

然后测试失败,无法找到所需的组件。当我使用 nunit 或将测试作为控制台应用程序运行时,它们就可以工作了。 同样在测试设置文件中,我还通过将部署设置为 false 并将程序集位置文件夹设置为我的根目录进行了测试,它们似乎都有效。

我还尝试在我的测试类上使用 Deploymentitem(bin/debug),但这不起作用。

我的问题是: 如何确保当我通过 Ms test runner 运行测试时,调试文件夹中的所有 dll 都被复制到 Testresults 文件夹中?任何指导将不胜感激。

有没有办法强制 ms 测试运行器使用 dll?

【问题讨论】:

  • 添加缺少的 .dll 源项目作为测试项目的参考。
  • 我无法添加项目,因为它们是第三方 dll,例如 entityframework、unity 等。虽然我已经添加了 dll,但它们仍然没有被复制。就好像 ms 测试运行器试图找到它需要的 dll,然后只有那些被复制到测试结果文件夹中。

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


【解决方案1】:

我在使用 Entity Framework 时遇到过类似的情况。这个链接应该有帮助: EntityFramework.SqlServer (or other providers) not being copied locally

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    相关资源
    最近更新 更多