使用 FluentAssertions 时有没有办法减少堆栈跟踪(噪音)?

Is there a way to reduce the stack trace (noise) when using FluentAssertions?

我在 .dotnet 核心项目中使用 FluentAssertions 库。我真的很感激我可以轻松阅读和理解这个 'grammar'.

的测试

我正在 VSCode 开发这个项目;它实际上是 Docker 容器中的 运行。

为了持续测试,我 运行 来自控制台 window:

dotnet watch --project ./test-project test

当测试失败时,我在输出中得到完整的堆栈跟踪。这可能达到十行或更多行,其中大部分与实际的 FluentAssertions 库异常直接相关,而不是被测代码。这是我不需要或不想要的很多噪音。首先,这意味着我需要将注意力从代码上移开,处理滚动和查找失败测试的详细信息。

有没有办法让堆栈跟踪静音?

或者,是否有其他工具可以与 VSCode 一起使用来可视化错误,而不必使用控制台输出。

为了完整起见,我还应该指出我正在使用 xUnit 和 dotnet-test-explorer 扩展。

我有一个答案 - xUnit 和 dotnet-test-explorer 不能一起开箱即用。

我必须:

  • 确保我的程序集名称与根命名空间匹配
  • 启用扩展观看
    • "dotnet-test-explorer.autoWatch": true
  • 设置测试项目的路径
    • "dotnet-test-explorer.testProjectPath": "src/Tests/*.csproj"
  • 设置命令行参数以使 gutters 扩展再次工作
    • "dotnet-test-explorer.testArguments": "/p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=./lcov.info "

lcov.info 文件有时会被清除,不确定直接原因,但解决方法很简单 - 删除 0byte 文件并刷新测试列表。

尝试 运行 dotnet watch ... 从控制台生成覆盖率参数,而浏览器则自行其是。

虽然这没有回答最初的问题,但它确实为我提供了一个我可以接受的可行解决方案。