首页 > 解决方案 > 从 CLI 运行 dotnet test 时,如何查看控制台输出的 gitlab 级别

问题描述

在 gitlab 运行器上运行 C# 单元测试时,脚本命令是dotnet test Projectfile.csproj --results-directory ./results --logger "junit" --collect:"XPlat Code Coverage"

gitlab 日志捕获测试代码的所有控制台输出,包括我添加的许多调试信息,以尝试诊断我仅在单元测试期间看到的问题。

但是,当我在 gitlab 作业之外运行相同的命令时,控制台的唯一输出来自测试本身,并添加参数,例如 -l "console;verbosity=detailed" 向控制台添加有关测试运行的信息,但我仍然看不到来自正在测试的代码。

内部用于调试输出的记录器Microsoft.Extensions.Logging.ILogger

有什么想法可以在运行时恢复控制台输出dotnet test吗?(或者可能是在 dotnet 之外运行测试的解决方法?)

测试项目构建一个类库,并引用一个控制台应用程序项目,这可能是相关的,例如

-MyTestConsoleApp.csproj  -> builds an executable
-- someclassToTest.cs

-MyTestConsoleApp.Tests.csproj -> tests are run with dotnet test MyTestConsoleAPp.Tests.csproj
- project reference to MyTestConsoleApp.csproj
-- testingClass.cs  // do stuff with someclassToTest

Fwiw,我在 Visual Studio 中运行测试时也没有看到我正在寻找的输出。

标签: c#consolegitlabxunit

解决方案


推荐阅读