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

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

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

最佳答案

我自己也遇到了。很容易修复如下:

  1. 获取最新版本的 Nuget 包管理器扩展。我现在是 1.8。
  2. 将 Nunit.Runners 包添加到您的解决方案中
  3. 将 .nuget 文件夹下 packages.config 中与 runner 相关的元素复制到单元测试项目的 packages.config 文件中

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

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

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

https://stackoverflow.com/questions/9485921/

相关文章:

c# - 如何从命令行构建 .csproj 并将日志写入指定位置?

android - 错误 : Program type already present: andro

c++ - 使用 CMake、Clang 和 Ninja 在 Windows 上构建 c++ 项目

c# - Visual Studio 无法写入输出文件 '...\obj\Debug\Foo.Bar

c++ - 基于 Python 的构建工具

build-process - 特定于目标的变量作为 Makefile 中的先决条件

msbuild - 为什么 autoconf/automake 项目会链接到已安装的库而不是本地开发

c++ - 在 Mac 上构建 Googletest 时出现链接错误(命令行)

java - 如何在我的 Ant 构建中包含外部 jar 库

ant - Ant 是否提供绕过依赖的方法?