【问题标题】:JUnit Max Equivalent Tool for Visual Studio适用于 Visual Studio 的 JUnit Max 等效工具
【发布时间】:2009-05-26 18:36:29
【问题描述】:

我一直在尝试为 Visual Studio 寻找类似于 JUnit Max 的工具。

该工具最好与 Visual Studio 2008 Professional 和 NUnit 一起使用。

对于那些显然无法点击进入 JUnit Max 站点的人,这里是描述。

JUnit Max 是 Eclipse 的一个持续测试插件,它通过智能地运行测试和不显眼地报告结果来帮助程序员专注于编码。每次您保存 Java 文件时,Max 都会运行您的测试并以与编译错误相同的格式报告错误。

Max 快速失败,首先运行最有可能失败的测试。即使您有一个长时间运行的测试套件,您也只需密切关注测试结果一秒钟(字面意思),然后再开始编码。

试着这样想……

Visual Studio 检测并突出显示语法错误。 我希望看到 IDE 中突出显示的单元测试错误,就像语法错误一样。

【问题讨论】:

  • 这样的工具需要什么样的硬件?
  • 我认为不需要什么特别的。该工具对测试进行优先级排序,以便首先运行最有可能失败的测试。这样一来,您就不必真正等待整个套件运行后再开始编码。
  • 我真的希望这确实存在。不幸的是,.net 社区在这类事情上往往落后于其他所有人几年。它最终会到来,但还没有到来。
  • 是的,真的很棒,不是吗?如果我有足够的动力和空闲时间,我会尝试自己创建这个工具。
  • 我通读了这篇文章的答案,但我不明白人们怎么会错过这个答案的重点?哈哈。他们如何将 JUnit Max 等同于持续集成服务器? =p

标签: .net visual-studio unit-testing


【解决方案1】:

这不是一个插件解决方案,但 NUnit GUI 运行器可以满足您的需求。您可以更改设置,以便在修改测试程序集时重新运行上次测试运行。因此,当您重新编译时,您的所有测试都会再次运行(假设您的最后一次测试运行当然会运行每个测试)。

如果你已经在使用 NUnit,你可能已经有了这个设置,但你也可以将 GUI 运行器作为外部工具添加到 Visual Studio,这样你就可以在 Visual Studio 中打开它,并且已经加载了你的测试程序集.同样,这种集成可以在 GUI 运行器的设置对话框中实例化。

更多信息可以在 NUnit 网站上找到,我会链接它,但我是一个太新的用户!

编辑: 另一种解决方案是向您的项目添加构建后事件,将您的测试程序集传递给 NUnit 运行器。如here 所述。不过,我很欣赏这仍然没有解决测试优先级方面的问题。

【讨论】:

  • 谢谢,贝娜。这几乎是一个解决方案,但 IDE 集成和测试优先级使整个过程更加顺畅。
【解决方案2】:

是的,有一个!

看看NCrunch。它在后台运行您的测试,甚至在您输入时更新覆盖率信息。

他们的网页上有屏幕投屏。目前它处于测试阶段并且是免费的;但我想,他们很快就会收费。不过,我很确定它物有所值。

NCrunch (供应商信息!)

NCrunch 是 Visual Studio .NET 的自动化并行连续测试工具。它智能地负责运行自动化测试,因此您不必这样做,并且在您工作时,它会在您的 IDE 中为您提供大量有关测试(例如代码覆盖率)的有用信息。

【讨论】:

【解决方案3】:

自从看到 junitmax 在 eclipse 上运行以来,我一直在寻找同样的东西,据我所知,.net 平台还没有类似的东西:(

最好的可用解决方案似乎是“在编译时运行测试”。有一篇关于'Extreme continuous integration' 的有趣博文。您至少可以通过这种方式在单独的机器上运行测试。

还要留意mighty moose

一些关于它的博客文章 herehere 它有一个更正式的名称,但我不记得它现在是什么了。

【讨论】:

  • 这是一个有用的链接。谢谢。
【解决方案4】:

这方面有很多项目:

http://ox.no/software/continuoustesting

http://quicktest.codeplex.com/

和其他人:)

【讨论】:

  • 谢谢,这些看起来很有帮助。我认为 QuickTest.NET 最接近 JUnit Max 的行为。
【解决方案5】:

Team City 将允许您运行个人构建,因此它不会检查损坏的代码。只有在所有单元测试通过后,它才会检查代码。这就是你所追求的吗?

【讨论】:

  • 不完全是,不。详情请查看 JUnit Max 幻灯片。
  • 我查看了第一页和幻灯片,我认为 Team City 也可以通过风险测试重新排序来做到这一点。看看jetbrains.net/confluence/display/TCD4/…
  • @epitka - 这很酷。 Team City 是否也突出显示 IDE 中的失败行?我已经下载了 Team City,但我还没有安装或配置它。
  • epitka - 我安装了 TeamCity,但没有看到任何“个人构建”功能。除此之外,我无法让它在我的系统上运行。我无法在我的用户帐户下运行构建代理服务,我必须以 SYSTEM 身份运行它。不过,这对于我需要使用的 VCS 来说是个问题。 :(
  • 个人构建通过TeamCity访问>在VS2008中远程运行,但你必须能够先登录到你的服务器。
【解决方案6】:

我认为您想自动从存储库中检出您的代码、编译它、运行所有单元测试并通过电子邮件向所有项目成员发送报告?对吧?

如果是这样,您正在搜索错误的术语。您正在寻找“持续集成”。

尝试以下产品: CruiseControl.NETTeamCity

【讨论】:

  • 这不是我想要的。请检查我发布的链接以获取连续单元测试的示例。不过感谢您的回答。
  • 对我来说,在专用服务器(签入时)或本地计算机(保存时)上运行测试没有区别......除了在每个文件上编译程序时所需的性能保存。
  • 有几个不同之处。对我来说最大的一个是 IDE 集成。另一个有用的区别是您不会检查损坏的代码然后发现测试失败。一旦重新编译,您就会发现测试失败。并且“最重要”的测试首先运行,因此您不必等待整个测试运行。再次,我敦促您点击我问题中的链接,了解 JUnit Max 如何提供连续单元测试。
  • TeamCity 为您提供 IDE 集成
【解决方案7】:

据我所知,没有等效的 Visual Studio,但如果您是 IntelliJ 用户,则可以使用 Infinitest。 Infinitest 也是免费的,这是一个不错的福利。

【讨论】:

    【解决方案8】:

    你看过CruiseControl

    我没有亲自使用过它,但我以前工作的另一个开发团队将它用于他们项目的持续集成/持续构建。

    CodeProject 上有一篇很好的文章回复:Continuous Integration with CruiseControl.net,其中也涵盖了 NUnit 测试和 CHM 文档构建

    【讨论】:

    • 我也听说过关于 CruiseControl 的好消息,但我不是在寻找持续集成,而是在寻找持续的单元测试。不过感谢您的提示。
    【解决方案9】:

    如果我理解正确,您正在寻找类似 ReSharper 的东西。 ReSharper 有一个非常好的集成单元测试运行程序,可让您运行完整的套件或单独的测试。它有一个很好的测试结果浏览器,可以很容易地跳到导致异常和诸如此类的代码。 ReSharper 不是免费的,但除了集成单元测试之外,它还提供了大量与 Visual Studio 集成的其他可用性功能和改进。

    如果 TestDriven.NET 不够好,ReSharper 肯定会满足您的需求。

    【讨论】:

    • 他不是在寻找 IDE 测试运行器,而是在寻找集成的连续测试器
    【解决方案10】:

    我想你正在搜索MSBuild with NUnit

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-08
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      相关资源
      最近更新 更多