如何在 Windows 和 运行 测试中安装 NUnit 3 控制台?
How do I install NUnit 3 console on Windows and run tests?
我想 运行 从这样的控制台进行测试(在任何目录中,DLL 文件可以用于不同的 .NET 版本):
$ nunit3-console test.dll
我在谷歌上搜索了很多,但找不到如何设置它。
官方教程没有任何用处,完全为零。跟随它让我无处可去:https://github.com/nunit/docs/wiki/Installation
很难找到,因为有很多过时的文档,无论是针对 NUnit2 还是 NUnit3。
步骤:
- 官方 NUnit3 控制台安装程序在这里:https://github.com/nunit/nunit-console/releases(路径与文档中的不同)
- 下载
NUnit.Console-*.msi
包并安装
- 添加到系统
PATH
变量中:C:\Program Files (x86)\NUnit.org\nunit-console
- 打开命令行
类型:
$ nunit3-console test.dll
// 对于 运行 多个并行测试程序集,请参见:
我正在使用 NUnit3-console.exe 和 Selenium WebDriver 运行 我的自动化,所有这些都是用 C# 编写的。我在 Windows Server 2012 的谨慎登录下设置了多个环境。
NUnit-Console 不必是 "installed",尽管 .msi 很容易获得。相反,我使用 .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"
测试参数在命令行上传递,NUnit 结果加上测试结果从每个用户(环境)不同的 TestResult.xml 中提取。
我意识到这个线程有点过时了,但这是我如何 运行 一个特定的 SINGLE 测试。
- 安装 nunit-console (https://github.com/nunit/nunit-console/releases/latest)
- 打开 powershell window 和 运行 nunit3-console.exe 并设置“--test”选项以引用您想要 运行 的特定测试(包括命名空间和 class)。最后,提供可以找到测试的程序集的位置。
示例(需要调整路径以指向您的特定文件):
& "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"
希望这对某人有所帮助。
我做的和推荐的是添加 nuget 包 NUnit.ConsoleRunner。请注意,有类似名称的包(NUnit.Runners、NUnit.Console)也可能有效,但我知道 NUnit.ConsoleRunner 中肯定有 nunit3-console.exe ...好吧,至少我使用的包版本 (3.4.1) 确实如此 :) 可悲的是,nunit 版本控制和打包似乎很混乱。有许多似乎重叠的旧文档和包。我找不到 good/solid up-to-date 文档。
无论如何,一旦您获得该软件包,您就可以 运行 现在位于您的软件包目录下的 exe。对我来说是 packages\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe。这适用于从解决方案文件夹中的构建自动化脚本调用或知道如何找到解决方案文件夹。
还有另一种选择,虽然不是对您问题的直接回答,但确实符合我假设的您的愿望:从命令行 运行 您的 nunit3 测试。如果添加包 NUnit3TestAdapter,则可以使用 Visual Studio 内置的 运行ner,vstest。如果您打开开发人员命令提示符(或 PowerShell),则它可以是 运行 和 'vstest.console'(没有路径信息,因为 exe 位于路径环境变量中)。当然它有自己的命令语法需要学习。
我想 运行 从这样的控制台进行测试(在任何目录中,DLL 文件可以用于不同的 .NET 版本):
$ nunit3-console test.dll
我在谷歌上搜索了很多,但找不到如何设置它。
官方教程没有任何用处,完全为零。跟随它让我无处可去:https://github.com/nunit/docs/wiki/Installation
很难找到,因为有很多过时的文档,无论是针对 NUnit2 还是 NUnit3。
步骤:
- 官方 NUnit3 控制台安装程序在这里:https://github.com/nunit/nunit-console/releases(路径与文档中的不同)
- 下载
NUnit.Console-*.msi
包并安装 - 添加到系统
PATH
变量中:C:\Program Files (x86)\NUnit.org\nunit-console
- 打开命令行
类型:
$ nunit3-console test.dll
// 对于 运行 多个并行测试程序集,请参见:
我正在使用 NUnit3-console.exe 和 Selenium WebDriver 运行 我的自动化,所有这些都是用 C# 编写的。我在 Windows Server 2012 的谨慎登录下设置了多个环境。
NUnit-Console 不必是 "installed",尽管 .msi 很容易获得。相反,我使用 .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"
测试参数在命令行上传递,NUnit 结果加上测试结果从每个用户(环境)不同的 TestResult.xml 中提取。
我意识到这个线程有点过时了,但这是我如何 运行 一个特定的 SINGLE 测试。
- 安装 nunit-console (https://github.com/nunit/nunit-console/releases/latest)
- 打开 powershell window 和 运行 nunit3-console.exe 并设置“--test”选项以引用您想要 运行 的特定测试(包括命名空间和 class)。最后,提供可以找到测试的程序集的位置。
示例(需要调整路径以指向您的特定文件):
& "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"
希望这对某人有所帮助。
我做的和推荐的是添加 nuget 包 NUnit.ConsoleRunner。请注意,有类似名称的包(NUnit.Runners、NUnit.Console)也可能有效,但我知道 NUnit.ConsoleRunner 中肯定有 nunit3-console.exe ...好吧,至少我使用的包版本 (3.4.1) 确实如此 :) 可悲的是,nunit 版本控制和打包似乎很混乱。有许多似乎重叠的旧文档和包。我找不到 good/solid up-to-date 文档。
无论如何,一旦您获得该软件包,您就可以 运行 现在位于您的软件包目录下的 exe。对我来说是 packages\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe。这适用于从解决方案文件夹中的构建自动化脚本调用或知道如何找到解决方案文件夹。
还有另一种选择,虽然不是对您问题的直接回答,但确实符合我假设的您的愿望:从命令行 运行 您的 nunit3 测试。如果添加包 NUnit3TestAdapter,则可以使用 Visual Studio 内置的 运行ner,vstest。如果您打开开发人员命令提示符(或 PowerShell),则它可以是 运行 和 'vstest.console'(没有路径信息,因为 exe 位于路径环境变量中)。当然它有自己的命令语法需要学习。