在一个新的 VS 解决方案上,我已经开始使用 NUnit 3.2。旧版本 (2.6) 有一个外部 NUnit GUI,这使得可以观察程序集并自动运行修改测试。但是我在 3.2 中找不到与此类似的任何东西——无论是在文档中还是通过 Google。
我已经安装了 NUnit.3.2.0.msi,我还在我的项目的 VS + NUnit3.2 nuget 包中安装了 NUnit3 测试适配器。
我可以通过 VS 的测试资源管理器轻松运行所有测试。但我想念一些自动运行它们的方法。有谁知道怎么做?
在旧版本的 Visual Studio 中,曾经有一个在每次构建后运行测试的选项,但它已被删除。它总是有问题,往往会锁定文件并阻止您重建。
您可以在测试项目上设置构建后命令,以便在您的测试项目重新编译时自动运行 NUnit 控制台。你已经安装了 NUnit 控制台,所以你可以指向它,或者使用 NUnit.Runners 包将它安装到你的解决方案的包文件夹中。
打开您的测试项目设置并转到Build Events选项卡。点击Edit Post-Build。输入以下内容;
"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "$(TargetPath)"
现在,无论何时构建,您的测试都将运行,结果将出现在输出窗口中。
如果在您的测试之后有大量构建输出但它可以工作,那么这可能并不理想。
仅供参考,构建输出中的颜色是VSColorOutput Visual Studio 扩展的副作用,它不是来自 NUnit。
Visual Studio 捕获 STDOUT,因此我无法让它打开 CMD 窗口并运行测试。如果有人知道该怎么做,请添加评论,我会更新。
GitHub 上有一个 NUnit 3 的 GUI 正在开发中 - 但不建议将其用于生产用途。
我们使用NUnitLite runner设置我们的测试。这允许您将测试程序集转换为可执行文件 - 并在运行时启动控制台并运行所有测试。[文档]