尝试从最终构建器 运行 NUnit 时出错 "The expression ['$Agent.NUnit.3.0.Path$' exists] evaluated False"?

Error "The expression ['$Agent.NUnit.3.0.Path$' exists] evaluated False" when trying to run NUnit from final builder?

我正在尝试 运行 使用 Final Builder Continua 进行一些单元测试,但我尝试的似乎都不起作用。我已经配置了单元测试阶段:

但每次我 运行 构建时都会收到错误消息:

The expression ['$Agent.NUnit.3.0.Path$' exists] evaluated False

然后整个事情就挂了。在最终的构建器论坛上报告了几个问题,但解决方案都与旧版本或各种其他修复程序有关 none,其中似乎适用于我的情况。

我猜它不知道 NUnit 控制台在哪里。我尝试在代理的构建配置中指定缺少的参数:

我试过从 nuget 安装 NUnit

nuget install nunit

有没有人有这方面的经验或解决这个问题的方法?

我正在使用康体佳1.8.1.277

我在 属性 收藏家 下随机点击了一些地方(不,我不知道这到底是什么意思):

这似乎表明它将在某些文件夹中寻找 Nunit(有趣的是不是 nuget 安装它们的地方):

Finds the executable 'nunit3-console.exe' in any of the following locations '%PROGRAMFILES%\NUnit.org\nunit-console\, %PROGRAMFILES(x86)%\NUnit.org\nunit-console\, %PATH%'.

所以我在我的程序文件中创建了一个新文件夹,并将所需的 nunit3-console.exe 等复制到其中。我现在不再收到错误消息了。

似乎 edit 允许您(咳咳)编辑这些路径。所以更好的解决方案是将NUnit的路径添加到这个变量中:

Continua CI 知道 NUnit 的所有可能安装位置是不切实际的。如果使用 NuGet 安装,则默认情况下它将安装在当前目录下 - 可以使用 NuGet 的 OutputDirectory 参数更改此安装文件夹。

编辑 属性 收集器搜索路径不被认为是 hack - 如果您知道可执行文件的路径,这实际上是一个推荐的解决方案。

另一个同样有效的解决方案是将可执行文件的路径添加到代理上的 PATH 环境变量中。自 v1.8.1.556 起,Continua CI 将自动获取对 PATH 变量的更改,而无需重新启动代理服务。

请注意,NUnit 操作还提供了一个选项,用于在构建过程中使用 NuGet 安装可执行文件:

勾选 "Install NUnit on agent using NuGet" 将显示一个 NuGet 选项卡,允许您输入 NuGet 安装参数。

您也可以在“使用”下拉列表中选择 "Custom"。这允许您指定用于此操作的可执行文件的路径。