C# 无法调试xUnit理论案例
所以我有一个xUnit项目在VS2019上运行。规格如下: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
[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
[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打开一个类型,它实际上有来源,如您的单元测试套件),因为您的问题已经解决,所以请考虑。