如何在一个VS解决方案中运行NUnit测试之前启动控制台应用程序

本文关键字:测试 NUnit 运行 应用程序 控制台 启动 解决方案 VS 一个 | 更新日期: 2023-09-27 18:04:35

在VS2010中,您可以指定多个启动项目(右键单击解决方案&在"启动项目"区域选择适当的选项)。

如果你按下F5,效果很好,但是对于NUnit测试,我还没有找到在运行测试之前启动这些项目的方法。有办法吗?

约束条件包括:

  1. 我不想从dos运行控制台应用程序,因为我想要调试支持。

  2. 我不想有一个单独的解决方案打开。我的理由是,在不同的解之间切换会产生更多的摩擦。确保在正确的解决方案中进行编辑。VS2010在检查文件更改时做得很好,但是,它只是更容易有一个集成的调试体验,其工作方式与按下F5时相同。

目前我正在使用NUnit与Resharper 6。

希望有一个我错过的选项。

谢谢你看这个。


更新:

所以现在看起来是一个没有支持的情况。目前,我正在考虑将测试作为控制台应用程序开始。也许我会创建一种手动指定一个测试或所有测试的方法。

即使在测试运行器之外运行,也能获得成功/失败的报告是很好的。又回到手动操作了吗?

<

解决方案/strong>

Pedro在解决方案帖子的评论中发布了这些链接:

  • NUnit 2.5.7需要在VS2010下显式调试附加

  • NUnit isn't运行Visual Studio 2010代码

*C:'Program files (x86)'NUnit 2.5.10'bin'net-2.0*:

  • nunit.exe.config

  • nunit-x86.exe。config (IMPORTANT FOR ME)

我做了这些设置更改:

下添加:

    <startup>
      <supportedRuntime version="v4.0.30319" />
    </startup>

并在下添加:

    <loadFromRemoteSources enabled="true" />

如何在一个VS解决方案中运行NUnit测试之前启动控制台应用程序

在另一个问题中,我发布了一个通过按F5来运行NUnit GUI的解决方案。如果你设置单元测试和控制台应用项目同时运行,你应该会得到想要的结果。

根据这个页面,NUnit有一个[TestFixtureSetUp]属性,它将在运行任何其他单元测试之前运行一次。虽然我自己没有使用过NUnit,但我认为您应该能够在带有此属性标记的方法中启动任何必要的先决条件程序。由于代码像其他代码块一样执行,我认为它也可以像其他代码块一样进行调试。

既然您正在使用Resharper作为您的测试运行,我很好奇您是否尝试过这些内容。将解决方案的启动项目设置为所需的控制台应用程序,然后按F5。然后,右键单击要运行的测试项目/文件,然后单击"运行单元测试"。

当解决方案是运行状态时,Resharper似乎隐藏了"调试单元测试"选项,但如果你想调试控制台应用程序方面的东西,这个可能适合你(此时完全未经测试的理论)。我认为,使用这种方法调试测试部分是不太可能的。

当然,这是与Resharper的测试运行器绑定的,如果你想在持续集成构建系统或通过NUnit GUI/Console做这个,这个方法甚至不会帮助你。