如何使用NuGet中的nUnit.Runners

JMa*_*sch 21 nunit visual-studio nuget

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

如果重要的话,我在UAC上运行,而不是作为管理员运行VS.

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

jes*_*ing 19

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

您需要使用Visual Studio库中的测试运行器或Tools- > Extensions and Updates菜单,而不是NuGet包.原因是Test Runner安装到Visual Studio中(而不是安装到您的项目中).

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

更新

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


Jan*_*ich 11

当您使用NuGet Pacakage Manager安装NUnit.Runners包时,它会创建并填充NUnit.Runners文件夹[SolutionDir]\packages,但该文件夹不会在项目构建中自动更新或恢复,因为安装程序不会将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>
Run Code Online (Sandbox Code Playgroud)

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