我们将 NUnit 测试执行从 TeamCity 迁移到 Azure DevOps。迄今为止最大的问题之一 - 无法看到绿色(通过)测试的控制台输出。DevOps 中是否真的缺少这个基本功能,或者我根本不知道去哪里找?
以下是查看失败测试的控制台输出的方法:
更新:在文档中有一个“提示”(https://docs.microsoft.com/en-us/azure/devops/pipelines/test/review-continuous-test-results-after-build?view=azure-开发运营):
如果您使用 Visual Studio 测试任务来运行测试,从测试(使用任何 Console.WriteLine、Trace.WriteLine 或 TestContext.WriteLine 方法)记录的诊断输出将显示为失败测试的附件。
文本明确指出“对于失败的测试”。看起来确实没有办法(没有简单的方法)看到非失败测试的控制台输出,这非常令人沮丧。
我们在Azure DevOps中运行了一个大型测试集(基于NUnit)。最近,我们在Visual Studio测试任务中启用了“重新运行失败的测试”选项。最初,由于VSTest中的一个错误,该错误无法处理自定义测试显示名称(这是我们的测试所必需的),因此无法正常工作。测试仍然只能运行一次。但是,通过设置批量大小,此问题已解决,最终可以正确重试测试。
它的效果非常好,除了一个奇怪的效果外……显然,详细的日志不再显示我们自己的自定义输出(由Console.WriteLine生成)。以前没有任何问题。我们现在得到的只是默认输出和最终测试结果。

日志本身仍在写:我们知道每次测试都(几乎)包含所有信息。这在测试结果中显示:

同样,仅禁用批处理大小选项会使日志再次显示。
有谁知道导致这种现象的原因以及如何解决?到目前为止,在Console.Writeline / Trace.Writeline / Debug.Writeline等之间切换仍然无济于事,而且我还没有找到关于此特定问题的许多其他信息...并且在某些情况下,拥有一个完整的日志文件是必需的(或者更实用),因此如果我们设法同时进行重试和完整日志记录,那就太好了。
提前致谢!