从 `dotnet test` 使用时如何防止 xUnit 记录?

How to prevent xUnit from logging when use it from `dotnet test`?

应该很简单,但是我做不到

设置

  1. .NET 6 class 库
  2. xUnit 2.4.1 作为测试框架

一切都很好。

我正在尝试在提交之前执行所有单元测试。
如果任何单元测试失败,我将阻止提交。
我在 pre-commit git 挂钩中执行此操作。
我能够用这段代码(在 pre-commit 钩子内)

if ! dotnet test --nologo --verbosity q > buildoutput.txt
then
  echo "Test failed"
  exit 1
fi

exit 0

一切都很好,我有一个很小的问题
我不希望 [xUnit.net] 日志在 Git 面板

中显示其日志

我只想显示一条简单的消息 'Test failed'

如何防止 xUnit 包显示这些消息?

输出似乎来自 stderr

在您的命令中,您只是将标准输出传输到文件 (>):

if ! dotnet test --nologo --verbosity q > buildoutput.txt

您还可以通过使用 >&(或 > 2>&1 以获得稍微更高的兼容性)来管道 stderr:

if ! dotnet test --nologo --verbosity q >& buildoutput.txt