关于c#:如何在Windows上安装NUnit 3控制台并运行测试?

How do I install NUnit 3 console on Windows and run tests?

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

1
$ nunit3-console test.dll

我在Google上搜索了很多,但是找不到如何设置它。

官方教程没有任何用处,并且完全为零。跟随它使我无处可去:https://github.com/nunit/docs/wiki/Installation


很难找到,因为有很多关于NUnit2或NUnit3的过时文档。

步骤:

  • 官方的NUnit3控制台安装程序在这里:https://github.com/nunit/nunit-console/releases(路径与docs中的不同)
  • 下载NUnit.Console-*.msi软件包并安装
  • 将以下内容添加到系统PATH变量中:C:\\Program Files (x86)\
    Unit.org\
    unit-console
  • 打开命令行
  • 类型:

    $ nunit3-console test.dll

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


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

    • 安装nunit-console(https://github.com/nunit/nunit-console/releases/download/v3.10/NUnit.Console-3.10.0.msi)
    • 打开一个Powershell窗口,然后运行nunit3-console.exe,并设置"-test "选项以引用要运行的特定测试(包括名称空间和类)。最后,提供可以找到测试的组件的位置。

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

    1
    2
    3
    4
    &"C:\\Program Files (x86)\
    Unit.org\
    unit-console\
    unit3-console.exe"
    --test=MyApp.Mvc.WebTests.CardsControllerTests.TheNameOfYourTestMethod"c:\\src\\MyApp.Mvc.WebTests\\bin\\Debug\\MyApp.Mvc.WebTests.dll"

    希望这对某人有帮助。


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

    NUnit-Console不必" installed \\",尽管.msi随时可用。相反,我使用.zip并将文件提取到目录C:\\\\
    单元,而不是允许调用从PATH解析。所有调用均来自Windows Forms计划程序,格式为-

    1
    2
    3
    C:\
    unit\
    Unit3-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结果以及测试结果。


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

    无论如何,一旦获得该软件包,就可以运行现在位于您的软件包目录下的exe。对我来说是套餐\\\\
    Unit.ConsoleRunner.3.4.1 \\\\\\\\\\ tools \\\\
    unit3-console.exe。对于从解决方案文件夹中的生成自动化脚本进行调用或知道如何查找解决方案文件夹的情况下,此方法效果很好。

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