【问题标题】:Should I write unit tests as console apps first?我应该先将单元测试编写为控制台应用程序吗?
【发布时间】:2010-09-09 10:48:45
【问题描述】:

我正在调试一组 WCF 服务。最初,我创建了一些单元测试,但由于我使用线程,所以我经常收到“Aborted”或“Stopped”测试而没有任何明确的解释(这是 Visual Studio 中的一个已知错误)。

当我什至无法读取日志输出时,我发现调试服务极具挑战性,因此我快速编写了一个自定义 Assert 类并将所有单元测试转换为控制台应用程序。通过这种方式,我能够立即解决大量以前很难甚至不可能解决的简单问题。

所以我想知道是否最好先将单元测试编写为(全自动)控制台应用程序,然后再将它们转换为真实的(在 VS 中启动单元测试时执行)测试。

【问题讨论】:

  • 任何工作(正确)并且简单对我来说已经足够了:)
  • 啊,您可能正在使用 MS 测试...一点建议 NUNIT!!!
  • 我将在 @Zoidberg 上获得第二名 - 我一直认为 NUnit 测试与控制台应用程序一样简单,甚至更简单。在线程化时,包含一些代码以等待所有线程在拆卸中死亡
  • 您应该将其添加为答案

标签: unit-testing visual-studio-2010 console-application


【解决方案1】:

如果您想坚持使用独立的控制台应用程序,您可以采用一种万能的方法:更改

  • 将 MsUnitTest(或 NUnitTest)的应用程序类型改为“控制台应用程序”
  • 添加一个 public static void Main() 来调用您感兴趣的单元测试。

这个exe可以单独运行,也可以在unittest-ide中运行。

我更喜欢how-do-i-use-mstest-without-visual-studio 中描述的独立控制台运行程序

【讨论】:

    猜你喜欢
    • 2012-02-27
    • 2010-10-05
    • 1970-01-01
    • 2015-04-21
    • 2014-10-01
    • 2021-08-08
    • 1970-01-01
    • 2016-02-19
    相关资源
    最近更新 更多