如何使用NuGet中的nUnit.Runners

时间:2013-03-05 15:54:20

标签: visual-studio nunit nuget

我只是尝试使用nuGet安装nUnit测试运行器,但我看不到如何执行测试运行器。当我安装软件包时,它似乎运行,当我尝试从nuget控制台安装时,它表明软件包已经安装 - 但我没有看到任何跑步者的迹象。

如果重要,我会在UAC上运行,并且我不会以管理员身份运行VS.

注意: 我确实通过安装nUnit MSI来实现这一点,我确实开始使用VS 2012插件。然而,它只是让我觉得nuget包没有用。所以,在学术上,我想知道我错过了什么。

2 个答案:

答案 0 :(得分:19)

NUnit测试运行器实际上直接集成到现有的Visual Studio测试运行器(测试资源管理器)中(来自菜单:测试 - > Windows - > 测试资源管理器)。因此,它不会出现在任何地方。只需将NUnit测试添加到您的项目中,它们现在将神奇地显示在测试资源管理器中,并在您按> 按钮时运行。

您需要使用Visual Studio Gallery工具 - >中的测试运行器,而不是NuGet包。 扩展和更新菜单。原因是Test Runner安装到Visual Studio中(而不是安装到您的项目中)。

正如@Jan所提到的,现在有一个NUnit.Runners包,您也可以将其添加到您的解决方案中。这应该为命令行构建添加NUnit运行器,但是这不会将NUnit VisualStudio测试运行器注册到Visual Studio。 NUnit Runners允许您从命令行(msbuild)运行测试。您还可以使用Visual Studio目录中的vstest.console.exe运行测试来完成此操作:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

更新

通过对Visual Studio 2013的更新,Microsoft已将测试运行器作为NuGet packages to a project附加。这样他们就会自动与您的项目保持同步,并可以设置为自动更新。也没有要求在构建服务器上安装测试运行器。

答案 1 :(得分:11)

当您使用NuGet Pacakage Manager安装NUnit.Runners包时,它会创建并填充[SolutionDir]\packages下的NUnit.Runners文件夹,但该文件夹不会在项目构建中自动更新或恢复,因为安装程序不会将NUnitRunners的条目放入项目的packages.config文件中。

如果您希望在构建版本上自动恢复包,则可以将缺失的行添加到packages.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="NUnit" version="2.6.2" targetFramework="net45" />
  <package id="NUnit.Runners" version="2.6.2" targetFramework="net45" />
</packages>

我不确定这是否有任何缺点,但似乎有效!