如何在Windows上安装NUnit 3控制台并运行测试?

时间:2017-08-03 11:10:01

标签: c# unit-testing nunit nunit-3.0 nunit-console

我想从这样的控制台运行测试(在任何目录中,DLL文件可以用于不同的.NET版本):

$ nunit3-console test.dll

我搜索了很多,但无法找到如何设置它。

官方教程没有任何用处,完全为零。接下来让我无处可寻:https://github.com/nunit/docs/wiki/Installation

4 个答案:

答案 0 :(得分:17)

很难找到,因为有很多过时的文档,无论是NUnit2还是NUnit3。

步骤:

  1. 官方NUnit3控制台安装程序位于:https://github.com/nunit/nunit-console/releases(路径与文档不同)
  2. 下载NUnit.Console-*.msi包并安装
  3. 添加到系统PATH变量:C:\Program Files (x86)\NUnit.org\nunit-console
  4. 打开命令行
  5. 类型:

    $ nunit3-console test.dll

  6. //要并行运行多个测试程序集,请参阅: https://stackoverflow.com/a/45486444/1453525

答案 1 :(得分:1)

我正在将NUnit3-console.exe与Selenium WebDriver一起使用来运行自动化,所有这些均以C#编写。我在Windows Server 2012的谨慎登录名下设置了多个环境。

尽管.msi随时可用,但不必“安装” NUnit-Console。相反,我使用.zip并将文件提取到目录C:\ Nunit,而不是允许调用从PATH解析。所有调用均来自Windows窗体计划程序-

C:\Nunit\NUnit3-Console.exe -work:C:\Users\xxxx\Automation\TestResults\ -out:TestResult.xml --where "name =~ 'yyyy'" --p environment=qa;browser=Firefox;browserSizeX=1200;browserSizeY=800 "C:\QA_Libraries3\zzzz.dll"

在命令行上传递测试参数,并从TestResult.xml中提取NUnit结果以及测试结果,这对于每个用户(环境)都是不同的。

答案 2 :(得分:0)

我意识到这个线程有些陈旧,但这是我运行特定的SINGLE测试的方式。

示例(需要调整路径以指向您的特定文件):

& "C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" --test=MyApp.Mvc.WebTests.CardsControllerTests.TheNameOfYourTestMethod "c:\src\MyApp.Mvc.WebTests\bin\Debug\MyApp.Mvc.WebTests.dll"

希望这对某人有帮助。

答案 3 :(得分:0)

我建议做的是添加nuget包NUnit.ConsoleRunner。请注意,也有可能使用类似命名的软件包(NUnit.Runners,NUnit.Console),但我知道NUnit.ConsoleRunner肯定包含nunit3-console.exe……至少是该软件包的版本我正在使用的(3.4.1)确实:)可悲的是,nunit版本控制和打包似乎很混乱。许多旧的文档和软件包似乎重叠。而且我找不到好的/可靠的最新文档。

无论如何,一旦获得了该软件包,便可以运行位于软件包目录下的exe。对我来说是包\ NUnit.ConsoleRunner.3.4.1 \ tools \ nunit3-console.exe。对于从解决方案文件夹中的构建自动化脚本进行调用或知道如何查找解决方案文件夹的情况下,此方法非常有效。

还有另一种选择,尽管它不能直接回答您的问题,但确实可以满足您的期望:从命令行运行nunit3测试。如果添加软件包NUnit3TestAdapter,则可以使用Visual Studio的内置运行器vstest。如果打开开发人员命令提示符(或PowerShell),则可以将其作为“ vstest.console”运行(由于exe位于路径env var中,因此没有路径信息)。当然,它具有自己的命令语法来学习。