c# - 你应该如何使用 NUnit 3.2?

标签 c# unit-testing nunit

如何使用 NUnit 3.2?我找不到专门针对版本 >= 3 的教程,并且我发现的其他教程导致了问题。我一直在关注this tutorial

首先,教程说从 VS 中您可以转到 Test -> Windows -> Test Explorer 来运行测试。但是,即使在构建之后,这似乎也没有检测到我在类库项目中进行的任何测试。

其次,v3 没有 GUI,所以这是不可能的。

第三,教程提到了 NUnit 的控制台版本。需要明确的是,我从 NuGet 安装了 NUnit Console Version 3。本教程称其名称为 nunit-console.exe,位于您安装 NUnit 位置的 bin 文件夹中。看来 v3 及更高版本不会创建 bin 文件夹,但是 nunit-console.exe 不会运行。双击它会调出控制台几分之一秒,然后立即关闭。还有一个 nunit-agent.exe 文件和一个 nunit-agent-x86.exe 文件,但是它们在运行时都会崩溃,所以我认为我应该不理会它们.

现在我被困住了。究竟如何使用 NUnit 3.2?

最佳答案

有多种不同的方法来运行 NUnit 3 测试...

First off, the tutorial says that from VS you can go to Test -> Windows -> Test Explorer to run your tests.

要实现此功能,您需要安装“NUnit3 测试适配器”。通过 Visual Studio 中的工具>扩展和更新安装它。确保您获得的是 v3 适配器而不是 v2 适配器 - 它们是单独的扩展。

Second, there's no GUI for v3, so that's out of the question.

目前正在开发中!关注其进度:here

Third, the tutorial mentions the console version of NUnit.

这可能是最传统的方法。该控制台可以作为独立程序安装(下载安装程序 here ),也可以作为 Nuget 包安装。 (我会使用 NUnit.Runners 包 - 它包含一些 NUnit.Console 不包含的合理默认扩展。)然后,无论你的包在哪里(通常是packages 目录位于项目根目录中?),如果您想在 bin 中运行它,您可以添加引用并Copy Local。控制台本身现在名为 nunit3-console.exe - 要运行测试,只需在命令行上将测试项目传递给该 exe 即可。例如

nunit3-console.exe MyTests.dll

最后,您还可以尝试 NUnitLite Nuget 包。 [Docs ] 这会将您的测试项目变成可执行文件,以便您的测试能够自行运行。我们发现这对于下游集成确实很有帮助。

鉴于您似乎只是在寻找一个简单的解决方案来运行测试,我建议您使用 NUnitLite 包或 VS 适配器。

关于c# - 你应该如何使用 NUnit 3.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36386398/

相关文章:

javascript - Jasmine 的错误方法http测试( Angular 7)

c# - NUnit 不会因终结器中的异常而失败

nunit - 在 nunit 中访问 UI 线程

msbuild - 是否可以知道 ReSharper 的测试运行程序何时构建我的项目?

c# - 为什么 (int)(33.46639 * 1000000) 返回 33466389?

c# - InvalidOperationException : Scheme already exists: Identity. 应用程序

c# - 以编程方式确定是否启用了 Windows 8 安全启动

c++ - GoogleTest:从测试访问环境

json - 单元测试 JSON 输出模块,最佳实践

c# - 将锯齿状的 int[][] 数组转换为 object[][] 数组