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

45

我想要在控制台中像这样运行测试(无论在哪个目录下,DLL文件都可以是不同的.NET版本):

我想要在控制台中像这样运行测试(无论在哪个目录下,DLL文件都可以是不同的.NET版本):

$ nunit3-console test.dll

我进行了很多搜索,但找不到如何设置这个的方法。

官方教程没有有用的信息,完全是零。按照它的指引也走不通:https://github.com/nunit/docs/wiki/Installation


这个部分似乎相当清楚地解释了如何操作? - J. Steen
1
下载的压缩文件中没有 nunit3-console.exe,只有 nunitlite-runner.exe - one_mile_run
好的。那他们需要更新文档了。你可以回溯到仍包含 nunit3-console 的版本并下载它。 - J. Steen
13
这里好像有相当数量的反对票。我想说,我觉得这个问题很有用,因为通过谷歌搜索和阅读文档并不清楚。 - jmathew
4个回答

55

由于存在许多过时的文档,无论是针对NUnit2还是NUnit3版本,因此很难找到正确的安装方式。

以下是步骤:

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

    $ nunit3-console test.dll

// 若要同时运行多个测试组件,请参见:https://dev59.com/H1sW5IYBdhLWcg3w-bL_#45486444


我已经获得了MSI并安装了它,但在Program Files或Program Files x86下没有创建NUnit文件夹,你知道它可能被安装在哪里吗? - mickael
@mickael: 这是默认的安装路径。再次安装时,请选择自定义安装,并检查第一次安装时的安装路径。 - one_mile_run
2
不要忘记启动新的命令提示符等来获取新的环境路径变量。 - Mitchb

2

我知道这个帖子有点过时了,但是这是我运行特定单元测试的方法。

  • 安装nunit-console (https://github.com/nunit/nunit-console/releases/latest)
  • 打开powershell窗口并运行nunit3-console.exe,使用“--test”选项设置引用您想要运行的特定测试(包括命名空间和类),最后提供可以找到测试的程序集的位置。

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

& "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"

希望这能帮助到某个人。

1
我正在使用NUnit3-console.exe和Selenium WebDriver运行我的自动化测试,所有代码都是用C#编写的。我在Windows Server 2012下设置了多个环境,每个环境都有不同的登录凭据。
NUnit-Console不需要“安装”,虽然.msi文件可以轻松获得。相反,我使用.zip文件并将文件提取到目录C:\ Nunit中,而不是允许调用从PATH解析。所有调用都来自于Windows Forms调度程序,形式为 -
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"

测试参数通过命令行传递,NUnit结果以及测试结果从TestResult.xml中提取,该文件对于每个用户(环境)都是独立的。

1

我所做的和推荐的是添加NuGet包NUnit.ConsoleRunner。请注意,可能也有类似名称的包(例如NUnit.Runners,NUnit.Console),但我知道NUnit.ConsoleRunner肯定有nunit3-console.exe ... 至少我正在使用的版本(3.4.1)有 :) 不幸的是,NUnit的版本和打包似乎很混乱。有许多旧文档和包似乎重叠。我找不到好的/稳定的最新文档。

无论如何,一旦获得了该包,那么您就可以运行现在位于packages目录下的exe文件。对于我来说,它是packages\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe。这对于从解决方案文件夹中调用的生成自动化脚本非常有效,或者知道如何查找解决方案文件夹。

还有一种选择,虽然不是对你的问题的直接回答,但可以满足你的愿望:从命令行运行nunit3测试。如果添加NUnit3TestAdapter软件包,则可以使用Visual Studio内置的运行器vstest。如果打开开发人员命令提示符(或PowerShell),则可以作为“vstest.console”运行(不需要路径信息,因为exe在路径环境变量中)。当然,它有自己的命令语法需要学习。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接