具有17个项目(其中11个是NUnit测试项目)的VS2017解决方案在AppVeyor中失败,无法获取远程流程代理错误

时间:2018-08-13 14:55:51

标签: appveyor nunit-console

我们正在GitHub上开发针对以下框架的C#SDK:

<TargetFrameworks>net45;net451;net452;net46;net461;net462;net47;net471;net472;netstandard1.6;netstandard2.0</TargetFrameworks>

VS2017解决方案包含17个项目,其中11个是测试项目。我们有重复的测试项目,以确保我们可以同时测试.NET Framework项目和NetStandard。

由于我们添加了net471;472 AppVeyor不再能够成功运行测试,因此我不断收到以下信息:

Unable to acquire remote process agent at NUnit.Engine.Runners.ProcessRunner.CreateAgentAndRunner() at NUnit.Engine.Runners.ProcessRunner.RunTests(ITestEventListener listener, TestFilter filter)

这是AppVeyor配置文件https://github.com/RHEAGROUP/CDP4-SDK-Community-Edition/blob/master/appveyor.yml的链接,这里是AppVeyor项目本身https://ci.appveyor.com/project/samatrhea/cdp4-sdk-community-edition

我怀疑问题是由于net471;net472造成的,但更多地归因于此解决方案中的项目数量。

一些有关如何配置传送带以使构建再次成功的帮助将不胜感激。在本地所有测试都通过了,我们没有相同的问题

预先感谢任何提示!

1 个答案:

答案 0 :(得分:0)

经过一番谷歌搜索,我发现此错误发生在nunit的不同情况下,并且通常是在测试数量变多的时候。我看到您尝试安装可以提供帮助的最新NUnit 3.8.0,但是您这样做的方式并没有影响要求测试的运行程序。请尝试将此install部分添加到您的YAML中,看看是否有帮助。

install:
- ps: |
    Write-Host "Installing NUnit 3.8.0..." -ForegroundColor Cyan -NoNewline
    $toolsPath = "$env:SYSTEMDRIVE\Tools"
    $nunitPath = "$env:SYSTEMDRIVE\Tools\NUnit3"
    Remove-Item $nunitPath -Recurse -Force
    $zipPath = "$($env:TEMP)\NUnit.Console-3.8.0.zip"
    (New-Object Net.WebClient).DownloadFile('https://github.com/nunit/nunit-console/releases/download/3.8/NUnit.Console-3.8.0.zip', $zipPath)
    7z x $zipPath -y -o"$nunitPath" | Out-Null
    del $zipPath
    $zipPath = "$($env:TEMP)\Appveyor.NUnit3Logger.zip"
    (New-Object Net.WebClient).DownloadFile('https://www.appveyor.com/downloads/Appveyor.NUnit3Logger.zip', $zipPath)
    7z x $zipPath -y -o"$nunitPath\addins" | Out-Null
    Move-Item "$nunitPath\addins\appveyor.addins" "$nunitPath\appveyor.addins"
    del $zipPath
    Remove-Path "$nunitPath\bin"
    Add-Path "$nunitPath"
    Write-Host "NUnit 3.8.0 installed" -ForegroundColor Green