【问题标题】:NUnit 3.2: Autorun tests after compile (Windows)NUnit 3.2:编译后自动运行测试(Windows)
【发布时间】:2016-03-23 22:38:49
【问题描述】:

在一个新的 VS 解决方案上,我已经开始使用 NUnit 3.2。旧版本 (2.6) 有一个外部 NUnit GUI,这使得可以观察程序集并自动运行修改测试。但我在 3.2 中找不到与此类似的任何内容 - 无论是在文档中还是通过 Google。

我已经安装了 NUnit.3.2.0.msi,我还在我的项目的 VS + NUnit3.2 nuget 包中安装了 NUnit3 测试适配器。

我可以通过 VS 的测试资源管理器轻松运行所有测试。但我想念一些自动运行它们的方法。有人知道怎么做吗?

【问题讨论】:

    标签: nunit nunit-3.0


    【解决方案1】:

    在旧版本的 Visual Studio 中,曾经有一个在每次构建后运行测试的选项,但它已被删除。它总是有问题,往往会锁定文件并阻止您重建。

    您可以在测试项目上设置构建后命令,以便在您的测试项目重新编译时自动运行 NUnit 控制台。你已经安装了 NUnit 控制台,所以你可以指向它,或者使用 NUnit.Runners 包将它安装到你的解决方案的包文件夹中。

    打开您的测试项目设置并转到构建事件标签。点击Edit Post-Build。输入以下内容;

    "C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "$(TargetPath)"

    现在,无论何时构建,您的测试都将运行,结果将显示在输出窗口中。

    如果在您的测试之后有大量构建输出但它可以工作,这可能并不理想。

    仅供参考,构建输出中的颜色是VSColorOutput Visual Studio extension 的副作用,它不是来自 NUnit。

    Visual Studio 捕获 STDOUT,因此我无法让它打开 CMD 窗口并运行测试。如果有人知道该怎么做,请添加评论,我会更新。

    【讨论】:

      【解决方案2】:

      GitHub 上有一个 NUnit 3 的 GUI 正在开发中 - 但不建议用于生产。

      我们使用NUnitLite runner 设置我们的测试。这允许您将测试程序集转换为可执行文件 - 并在运行时启动控制台并运行所有测试。 [Documentation]

      【讨论】:

      • 感谢您提供有关 NUnitLite 的信息,但我是否正确假设它不会在编译时自动运行?此外,我的解决方案中有多个测试项目,每个实际项目一个。
      • @Carsten “在编译时运行”是什么意思,对不起?如果你按 F5,它会运行你的测试,是的。
      • 问题是,我在解决方案中有多个测试项目。而且您的建议将 AFAICS 仅运行设置为启动项目的项目。
      • 是的 - 这是真的。 Rob 的建议听起来不错!
      猜你喜欢
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      相关资源
      最近更新 更多