错误“当试图从最终生成器运行NUnit时,表达式['$ Agent.NUnit.3.0.Path $'存在]评估为False”?

问题描述:

我想使用最后的生成器康体佳运行一些单元测试,但没有任何我尝试似乎工作。我已经配置了一个单元测试阶段:

enter image description here

但每次我运行生成我得到的错误:

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

enter image description here

那么整个事情挂起。在最终的生成器论坛上报告了几个问题,但解决方案都与旧版本或各种其他修复相关,这些修复似乎都不适用于我的情况。

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

我试着从安装的NuGet NUnit的

nuget install nunit 

有没有人这样或解决这个问题有任何的遭遇?

我使用康体1.8.1.277

这是不实际的康体CI知道了NUnit的所有可能的安装位置。如果使用NuGet进行安装,则默认安装在当前目录下 - 使用NuGet的OutputDirectory参数可以更改此安装文件夹。

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

另一个同样有效的解决方案是将可执行文件的路径添加到代理上的PATH环境变量。从v1.8.1.556开始,康体佳CI将自动选择对PATH变量的更改,而无需重新启动代理服务。

注意,NUnit的动作也提供了安装使用的NuGet可执行文件作为构建的一部分选项:

Install NUnit on agent using NuGet option in NUnit action

勾选将呈现的NuGet选项卡允许“使用的NuGet代理安装的NUnit”你输入NuGet安装参数。

enter image description here

您也可以选择“自定义”,在使用下拉。这使您可以指定用于此操作的可执行文件的路径。

enter image description here

+0

啊,我没有做到这一点,但没有注意到标签。谢谢。我的黑客是我添加了文件夹,并把该exe文件夹。我后来明白,更好的方法是改变变量。 – Liam

只需通过点击随机的地方,我注意到这下物业收藏家(不,我不知道这是什么,其实就是):

enter image description here enter image description here

这似乎暗示它会在某些文件夹中寻找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等复制到其中。我现在不再有错误。

似乎编辑允许你(编辑)编辑这些路径。因此,一个更好的解决方案是将路径添加到NUnit的这个变量:

enter image description here

+1

看来,当你下载了'.msi',他们只使用安装了亚军的路径。 – Charlie