首页 > 解决方案 > 使用 FluentAssertions 时有没有办法减少堆栈跟踪(噪音)?

问题描述

我在 .dotnet 核心项目中使用FluentAssertions库。我真的很感激我可以轻松阅读和理解这个“语法”的测试。

我正在用 VSCode 开发这个项目;它实际上用完了一个 Docker 容器。

对于连续测试,我从控制台窗口运行:

dotnet watch --project ./test-project test

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

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

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

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

标签: c#unit-testing.net-corefluent-assertions

解决方案


我有一个答案——xUnit 和 dotnet-test-explorer 不能很好地开箱即用。

我不得不:

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

文件有时lcov.info会被清除,不确定直接原因,但足够简单的修复 - 删除 0byte 文件并刷新测试列表。

当资源管理器做它自己的事情时,将尝试dotnet watch ...从控制台运行生成覆盖参数。

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


推荐阅读