【问题标题】:Test are being shown under "External" category in Test Explorer when Grouped By Project按项目分组时,测试显示在测试资源管理器的“外部”类别下
【发布时间】:2019-06-18 20:07:29
【问题描述】:

每当我尝试在 Visual Studio 2012 的测试资源管理器上运行测试时,一些测试被归类为“外部”,即使 Group By 设置为“Group By Project”

那么源代码就无法识别

【问题讨论】:

  • 您在外部进行了哪些类型的测试?您使用什么测试框架?
  • 这只是单元测试,正在使用 MS Test 运行,问题非常随机,有时我需要重新启动 Visual Studio 并再次运行测试,然后一切又回到原来的类别中跨度>
  • stackoverflow.com/questions/14922597/… 这里接受的答案也很有效。

标签: unit-testing visual-studio-2012 test-explorer


【解决方案1】:

这是因为 pdb 文件未包含在编译中。如果您在调试以外的解决方案配置中进行编译,则必须确保包含 pdb。

要实现这一点,您必须打开高级构建设置:

  • 右键单击项目并选择属性
  • 点击构建选项卡
  • 检查您的配置是否在“配置”下拉列表中被选中
  • 单击高级按钮。

在新窗口中,您必须在调试信息下拉列表中选择“pdb-only”。

【讨论】:

  • 您可以指定任何一个选项,而不是无。我必须说,这将是我最不想怀疑的事情。
  • 这提示了我的问题 - 我的项目被设置为没有调试信息,但那是因为当我将它添加到我的解决方案时,配置被设置为“发布”,而不是像解决方案的其余部分一样调试。检查其他可能想知道为什么他们的调试符号未启用的人。
  • 在我的环境中 - VS 2017 版本 15.6.6 - 如果您选择任何调试信息生成选项,也会发生这种情况。并且它与类的全名和测试方法的组合长度无关,因为在我的情况下它也明显短于 254 个字符。肯定还有别的原因。
  • 嗯,对我来说它设置为“完整”。
【解决方案2】:

这发生在我身上,但只有在命名空间、类和测试方法的总长度超过 254 个字符时才会发生。 (MS 测试,Visual Studio 2013 12.0.40629.00 更新 5)

namespace MyTests.HaveLong.Complicated.NamespaceAsWell.AsMuchAs.EightyFive.Chars.IfThatMatters
{
    [TestClass]
    public class A_Long_ClassName_MayAlso_Contribute_ToThe_Issue_ThisOneIs_EightyFive_Characters_Long
    {
        [TestMethod]
        public async Task This_IsAMsTest_TestMethod_WithAnEightyFive_CharacterName_WhichWillShow_UnderExternal()
        {
        }
        [TestMethod]
        public async Task This_IsAMsTest_TestMethod_WithAnEightyFour_CharacterName_WhichWontShowUnderExternal()
        {
        }
    }
}

【讨论】:

    【解决方案3】:

    我尝试了接受的解决方案,它没有改变任何东西,所以我恢复了它,然后突然间一切都为我解决了。 VS2017.

    【讨论】:

      猜你喜欢
      • 2020-04-11
      • 2020-09-13
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      • 2020-01-23
      • 1970-01-01
      • 2020-05-04
      • 2017-11-29
      相关资源
      最近更新 更多