【问题标题】:Visual Studio 2012 Not Recognizing Existing Unit TestsVisual Studio 2012 无法识别现有的单元测试
【发布时间】:2013-09-06 20:30:03
【问题描述】:

我之前创建了一个单元测试项目,然后暂时将其从我的解决方案中删除。现在我已将其添加回来,Visual Studio 没有检测到我的单元测试,我不知道如何运行它们。

我在网上查看,看到有一些关于“测试工具”设置的解决方案,但它似乎已在 VS 2012 中删除。

有人遇到过这个问题吗?我该如何解决它,以便我可以再次运行我的单元测试?

【问题讨论】:

  • 当你说没有被检测到时,你是什么意思?您不能在方法中右键单击并说“运行测试”?
  • 我的意思是它没有显示在测试资源管理器中,如果我单击“全部运行”或重新构建解决方案,它们都不会运行/添加到测试资源管理器中。
  • 我刚遇到这个问题,这是因为我的测试课不是public
  • 在我的情况下,我将 Nunit 降级到较低版本 (3. -> 2.6) 并且它可以工作。

标签: c# asp.net visual-studio


【解决方案1】:

AH.Johnathon Sullinger 在 cmets 中提到的一个可能原因是异步单元测试的错误签名 - 返回类型必须是任务并且不能为 void。


还要确保在适当的构建配置中检查测试项目:

转到配置管理器并在您当前的构建配置下勾选您的测试项目的复选框。确保事后重建解决方案(正如 cmets 中 Dustin Venegas 正确指出的那样)。

【讨论】:

    【解决方案2】:

    尝试删除解决方案文件夹中的所有 .SUO 文件。这些文件是在 Visual Studio 加载您的解决方案时自动创建的,并且是构建后测试未显示在测试资源管理器中的潜在原因。我假设您已经构建了您的项目。

    【讨论】:

      【解决方案3】:

      我有这个问题,对我来说,它似乎与 TFS 以及我的工作空间的存储位置有关。出于安全原因,我们将“本地”工作区保留在文件服务器而不是本地 PC 上。

      我的单元测试今天早上停止出现在测试资源管理器视图中,此前该测试已在周五下午顺利开发并正常工作。

      虽然我没有问题的原因或解决方案,但我确实有几个潜在的解决方法。要么:

      • 将 tfs 中相关解决方案的本地路径更改为本地驱动器。在源代码管理资源管理器窗口中单击 Workspace > Workspaces... > Edit...,然后为相关解决方案添加一个新的工作文件夹

      或:

      • 将测试项目的输出目录更改为本地驱动器。右键单击项目并选择属性,然后在 Build > Output > Output path 中,浏览到本地文件夹

      【讨论】:

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