Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法调试xUnit理论案例_C#_Visual Studio 2019_Xunit_.net 5 - Fatal编程技术网

C# 无法调试xUnit理论案例

C# 无法调试xUnit理论案例,c#,visual-studio-2019,xunit,.net-5,C#,Visual Studio 2019,Xunit,.net 5,所以我有一个xUnit项目在VS2019上运行。规格如下: [Theory] [InlineData("Hello", "World")] public void ShouldGreetEntity(string greeting, string entityname) { var expected = $"{greeting} {entityname}"; var re

所以我有一个xUnit项目在VS2019上运行。规格如下:

    [Theory]
    [InlineData("Hello", "World")]
    public void ShouldGreetEntity(string greeting, string entityname)
    {
        var expected = $"{greeting} {entityname}";

        var returned = $"{greeting} {entityname}";

        returned.Should().Be(expected);
    }
  • VS2019(16.9.3)
  • xUnit 2.4.1
  • xUnit.runner.visualstudio 2.4.3
  • 流体组件5.10.3
  • Microsoft.NET.Test.Sdk 16.9.4
我在xUnit项目中有一个简单的测试用例,如下所示:

    [Theory]
    [InlineData("Hello", "World")]
    public void ShouldGreetEntity(string greeting, string entityname)
    {
        var expected = $"{greeting} {entityname}";

        var returned = $"{greeting} {entityname}";

        returned.Should().Be(expected);
    }
忽略测试用例的敏感性

我对运行测试用例没有问题。它运行并给我通过的结果。然而,在尝试调试这个测试用例时,它会弹出一个选项卡,提示我找到一个“TestClass.cs”文件。情况如下:

    [Theory]
    [InlineData("Hello", "World")]
    public void ShouldGreetEntity(string greeting, string entityname)
    {
        var expected = $"{greeting} {entityname}";

        var returned = $"{greeting} {entityname}";

        returned.Should().Be(expected);
    }


有人知道这是怎么回事吗?

正如@canton7所建议的,在查看“调用堆栈”和“断点”窗口后,我发现在一个不存在的名为“TestClass.cs”的文件上有一个断点。删除所有断点修复了此问题。

包含“ShouldGreetenty”测试的文件名是什么?我认为您使用的是旧版本的Xunit,这会稍微让人困惑?无论哪种方式,它看起来像是在Xunit文件中损坏了调试器(可能是因为在该点引发了异常?),但它找不到相应的源文件。检查“堆栈跟踪”窗口以确认/反驳这一点。最简单的方法是打开“调试->选项”下的“仅我的代码”。这将阻止调试器破译不是你擅长的代码!!xUnit软件包的最新版本分别是v.2.4.1和v2.4.3,因此我们在这方面做得很好。我将查看堆栈跟踪窗口。啊哈,路径
src/xunit.execution
自2018年左右就不存在了,但是xunit的最后一个版本是在2018年,所以这很公平。它肯定是在尝试突破xunit类型,所以我坚持我的建议,只启用我的代码(或使用调用堆栈窗口告诉VS打开一个类型,它实际上有来源,如您的单元测试套件),因为您的问题已经解决,所以请考虑。