如何使用NUnit.Runners包和psake执行NUnit测试?

Bor*_*ard 14 nunit build psake nuget

传统上,nunit-console.exe已经包含在存储库和构建服务器(或任何其他机器)上,这个EXE是从某个构建脚本调用的.

既然NUnit.Runners包可用,我想知道如何从psake构建脚本中使用它.它是一个解决方案级别的包,因此它不会留下任何痕迹packages.config,也不能像其他项目级别的包一样自动恢复,所以我想需要Install-Package从psake脚本调用,等待下载然后执行单元测试?希望这个下载只能运行一次,并且每次运行时都不会减慢构建速度.或者会吗?

Tom*_*ski 8

刚碰到这个.很容易解决如下:

  1. 获取Nuget Package Manager扩展的最新版本.我现在在1.8.
  2. 将Nunit.Runners包添加到您的解决方案中
  3. 将与.ruget文件夹下的packages.config相关的运行程序元素复制到单元测试项目的packages.config文件中

从现在开始,当你构建时,Nuget将下载Nunit.Runners包,如果它不在机器上.然后我在命令行构建中从包中引用Nunit runner.

我在一个小项目中工作,我在Github上TeamCity构建灯做了.如上所述,单元测试项目中的Packages.config已被修改.您可以查看MSBuild文件以查看我如何从命令行运行测试.(build.proj,它引用存储库的tools\msbuild文件夹中包含的一些目标和属性).在尝试构建VS.NET之前或从命令行(clicktobuild.bat)之前,您将需要安装最新的Nuget Package Manager.

您应该能够轻松地将如何从正确的位置运行Nunit控制台的想法移植到psake中.


Hat*_*ard 0

这并不能回答您的问题,但可能对面临类似问题的人有用。我在尝试设置 TeamCity 构建时遇到了同样的问题。我通过恢复到旧版本的 nunit 来解决这个问题。

NUnit 2.5.10.11092 的 nuget 包中仍然包含 nunit exe。