【问题标题】:Karma for Visual Studio? [closed]Visual Studio 的业力? [关闭]
【发布时间】:2013-09-30 23:21:31
【问题描述】:

我是Infinitest 等持续测试产品的忠实粉丝。最近我一直在做更多的 JavaScript 开发,并且正在为 Visua Studio 寻找类似的东西,它可以在保存文件后立即运行我的 Jasmine 测试。 Mighty Moose 看起来仅适用于 .NET 代码。我确实喜欢 Karma 背后的想法,但理想情况下它会与 Visual Studio 2012 很好地集成。

有这样的野兽吗?

【问题讨论】:

  • 最“最新”的 VisualStudio 扩展似乎来自 2015 年,可以在这里找到:github.com/MortenHoustonLudvigsen/KarmaTestAdapter
  • 现有的扩展对我来说效果不佳。因此,我决定结合使用 Gulp 任务、外部命令和解决方案资源管理器的自定义上下文菜单。 Gulp 和 Karma 的结合非常强大。例如,它允许实现自定义监视模式或仅测试具有本地更改的文件。
  • 这是 Resharper 为 Karma 支持提供的相关未解决问题:youtrack.jetbrains.com/issue/RSRP-386732

标签: visual-studio jasmine karma-runner continuous-testing infinitest


【解决方案1】:

我创建了一个 Visual Studio 扩展,如果你想使用 Karma,你可能会发现它很有用。您基本上像往常一样使用 Karma,但启用了 XML 报告器;然后是一个监视该 XML 文件并在测试资源管理器窗口中显示结果的 VS 扩展。

我的博客上有一段视频(连同文字说明): http://blog.dantup.com/2014/03/cross-browser-javascript-testing-with-karma-and-visual-studio/

欢迎反馈!

【讨论】:

  • 叹息。仍然依赖“构建后运行测试”,这又是专业版中不可用的 VS Ultimate/Premium 功能。
  • @roufamatic 是的,这是 MS 的限制,我 IBT 知道解决办法:(
  • 是否有适用于 Karma 的 VisualStudio 扩展与 VisualStudio Community 2015 一起使用?还是我应该使用 Chutzpah? (总的来说,Karma 似乎比 Chutzpah 更新,并且拥有更多的开发人员。)
  • 这似乎行得通。谢谢你。我将目标条目更改为 并安装完成。是否可以从 Visual Studio 中启动 Karma(例如从测试资源管理器)还是必须使用控制台?
  • @nagates 请参阅上面的 cmets - 您可以解压缩/修改/重新压缩 vsix 以在 2015 年安装。但恐怕我现在没有维护扩展。
【解决方案2】:

有一个用于 Karma runner 集成的 VS 扩展(在 VS 输出窗口中显示 Karma 结果):http://visualstudiogallery.msdn.microsoft.com/02f47876-0e7a-4f6c-93f8-1af5d5189225

【讨论】:

【解决方案3】:

如果您想在 Visual Studio 中保存 test 文件后自动运行 javascript 单元测试,您可以使用“Chutzpah”。

http://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe

ps。 这非常适合 JS 测试。但如果你想测试 DOM 操作,你将需要某种网络驱动程序。

编辑:

如果您将测试资源管理器设置为在构建时运行,则保存 test.js 文件将导致测试运行。保存引用的 javascript 本身不会。

【讨论】:

  • 如何配置 chutzpah 以自动运行测试?我在测试资源管理器中看到了测试,但仍然需要单击它们才能执行某些操作。
  • @roufamatic 在测试资源管理器面板的左上角,在标题“测试资源管理器”下方,您将看到一个带有图标的按钮,该图标似乎是刷新和播放/执行的组合.如果您将鼠标悬停在它上面,它会说...“构建后运行测试”。当此按钮处于活动状态时,每次保存文件时都会运行测试。
  • 该按钮仅适用于 VS 2012 Ultimate!它不在专业版中。 GRRRRRRRRR。
  • 好吧,我有高级版的按钮,如果这对你有用的话。它比终极版便宜一点:)
  • 我会告诉我的老板,但我不认为他会这么做,小气鬼。 #自雇人士
【解决方案4】:

对于自动构建,您可以使用以下 nuget 包,它将使用 karma 和 grunt 运行您的 jasmine 测试。 因此,只要您在构建机器上安装了 nodejs,它就应该运行您的单元测试。

https://www.nuget.org/packages/KarmaGruntJSUnit.MSBuild/

谢谢

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2010-11-23
  • 2012-08-17
  • 2010-09-06
  • 2013-01-27
  • 2015-01-21
  • 2010-10-16
  • 2022-01-15
  • 2012-12-08
相关资源
最近更新 更多