【问题标题】:How do I write to the Azure Devops task log from xUnit tests?如何从 xUnit 测试写入 Azure Devops 任务日志?
【发布时间】:2019-11-28 14:02:20
【问题描述】:

我正在 Azure Devops 管道中运行一些测试,并且在构建代理上看到了一些我在本地没有得到的故障。我正在尝试一些低保真调试,并想在任务日志中写出一些喋喋不休的信息,但我不知道怎么做。我尝试了Console.WriteLine()Debug.WriteLine()Trace.WriteLine(),但在日志中没有看到我的任何消息。

如何写入管道任务日志?

【问题讨论】:

  • 您好,您是否使用 dotnet test CLI 在 Azure Devops 中运行测试?
  • 我正在使用 Azure 在创建管道时添加的 VSTest 步骤。 @OrcusZ
  • 我不确定这是否可行,因为它在github.com/microsoft/azure-pipelines-tasks/issues/3986 之前已被记录为问题/功能增强。最后应该会生成一个 .trx 文件,其中可能包含任何输出日志?
  • @GregB - 你能解决这个问题吗?如果是,你能告诉我们你是怎么做的吗?

标签: azure-devops azure-pipelines xunit


【解决方案1】:

目前,我不知道有什么健全的方法可以做到这一点。

如果您确实需要调试代码,其输出可从 Azure 运行中看到,您可以在测试中执行以下操作。

[Fact]
public void LogDebugInfo() {
  var outputString = $"my debug info here";
  Assert.Equal($"", outputString);
}

显然这会导致测试失败,但至少你可以看到你的调试信息。

【讨论】:

    【解决方案2】:

    您必须使用指向ITestOutputHelper 的记录器。详情在这里:.net core 2.0 ConfigureLogging xunit test

    如果您同意第三方,这里有两个可以简化解决方案: https://blog.martincostello.com/writing-logs-to-xunit-test-output/ https://www.neovolve.com/2018/06/01/ilogger-for-xunit/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 2019-11-09
      相关资源
      最近更新 更多