我们遇到的这个问题困扰着我们的工程团队已经一年多了,我们在解决这个问题上无法取得任何进展。 question on Stack Overflow与我们所经历的极为相似。
我们有多个管道,这些管道使用“ Visual Studio测试”任务从单个程序集中运行一组NUnit测试。该项目中有1400-1500个单元测试,需要进行测试。NUnit测试适配器通过NuGet任务(安装NUnit3TestAdapter)进行部署。该测试程序集具有以下设置:
在多个管道中,此步骤随机但始终如一地以零错误消息或过程结束原因的痕迹结束。运行拉取请求的后续构建通常会成功,但有时还会失败。在这种情况下,我们将其称为“片状构建”,在这种情况下,如果输入相同的确切代码,则构建可能会失败,然后又可以通过。
这是我们从管道中收到的唯一错误消息:
## [错误]退出进程1的退出代码:文件名'REDACTED \ externals \ node \ bin \ node.exe',参数'“ REDACTED_work_tasks \ VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9 \ 2.170.1 \ runvstest.js“'。
整理:集成测试
这些测试是我们的“集成测试”,执行许多设置步骤来创建系统的功能版本,包括通过Kestrel创建Web服务器来托管我们的API,连接到在构建服务器上运行的(localdb)来还原数据库.bak文件并应用数据库项目(dacpac)并连接到Redis(也在本地安装在构建服务器上)。
我们正在努力确定下一步措施,因此我正在与社区联系,以了解是否有人在此问题上受苦,是否有解决问题的想法,甚至是解决方案!
编辑2020-11-10
昨天我将管道变量system.debug
设置为true,这是它在我们一次不稳定的构建中捕获的输出。
##[error\]Exit code 1 returned from process: file name 'E:\\servername\\externals\\node\\bin\\node.exe', arguments '"E:\\servername\\\_work\\\_tasks\\VSTest\_ef087383-ee5e-42c7-9a53-ab56c98420f9\\2.170.1\\runvstest.js"'.
##[debug\]Microsoft.VisualStudio.Services.Agent.Util.ProcessExitCodeException: Exit code 1 returned from process: file name 'E:\\servername\\externals\\node\\bin\\node.exe', arguments '"E:\\servername\\\_work\\\_tasks\\VSTest\_ef087383-ee5e-42c7-9a53-ab56c98420f9\\2.170.1\\runvstest.js"'.
at Microsoft.VisualStudio.Services.Agent.Util.ProcessInvoker.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary\`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, InputQueue\`1 redirectStandardIn, Boolean inheritConsoleHandler, Boolean keepStandardInOpen, Boolean highPriorityProcess, CancellationToken cancellationToken)
at Microsoft.VisualStudio.Services.Agent.ProcessInvokerWrapper.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary\`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, InputQueue\`1 redirectStandardIn, Boolean inheritConsoleHandler, Boolean keepStandardInOpen, Boolean highPriorityProcess, CancellationToken cancellationToken)
at Microsoft.VisualStudio.Services.Agent.Worker.Handlers.DefaultStepHost.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary\`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Boolean inheritConsoleHandler, CancellationToken cancellationToken)
at Microsoft.VisualStudio.Services.Agent.Worker.Handlers.NodeHandler.RunAsync()
at Microsoft.VisualStudio.Services.Agent.Worker.TaskRunner.RunAsync()
at Microsoft.VisualStudio.Services.Agent.Worker.StepsRunner.RunStepAsync(IStep step, CancellationToken jobCancellationToken)