【问题标题】:Is there a way to reduce the stack trace (noise) when using FluentAssertions?使用 FluentAssertions 时有没有办法减少堆栈跟踪(噪音)?
【发布时间】:2021-12-06 20:41:43
【问题描述】:

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

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

为了进行持续测试,我从控制台窗口运行:

dotnet watch --project ./test-project test

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

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

或者,我可以在 VSCode 中使用其他工具来可视化错误,而不必使用控制台输出。

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

【问题讨论】:

    标签: c# unit-testing .net-core fluent-assertions


    【解决方案1】:

    我有一个答案 - 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 文件并刷新测试列表。

    尝试使用控制台生成的覆盖 args 运行 dotnet watch ...,而资源管理器则自行处理。

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

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 2016-12-25
      • 2020-01-29
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      • 2021-05-13
      相关资源
      最近更新 更多