VisualStudio/Build Server的JavaScript单元测试工具-有共识吗?

VisualStudio/Build Server的JavaScript单元测试工具-有共识吗?,javascript,visual-studio-2010,unit-testing,Javascript,Visual Studio 2010,Unit Testing,情况如下: 我们是一家使用Visual Studio/TFS等的Microsoft商店 我们有一个构建服务器,它每晚为我们执行构建,并运行各种测试,以确保白天没有任何东西被破坏 我们现在正在做越来越多的JavaScript,这很可能会继续下去 我们的JavaScript目前都没有经过测试,因为我环顾四周,发现JavaScript测试世界处于不断变化的状态。我已经读到了很多产品,我不确定该走哪条路。我发现这个问题在原始信息方面非常有用: 理想情况下,我希望使用能够很好地集成到VisualSt

情况如下:

  • 我们是一家使用Visual Studio/TFS等的Microsoft商店
  • 我们有一个构建服务器,它每晚为我们执行构建,并运行各种测试,以确保白天没有任何东西被破坏
  • 我们现在正在做越来越多的JavaScript,这很可能会继续下去
我们的JavaScript目前都没有经过测试,因为我环顾四周,发现JavaScript测试世界处于不断变化的状态。我已经读到了很多产品,我不确定该走哪条路。我发现这个问题在原始信息方面非常有用:

理想情况下,我希望使用能够很好地集成到VisualStudio和我们的TFS构建服务器中的东西。大多数JavaScript测试选项似乎都不支持这一点

我发现了这篇文章:(但我不太喜欢使用jscript进行测试)

我发现了这个——看起来很有希望:

所以我想知道的是,有没有共识?人们是否采用了一种工具而不是另一种,是否有任何方法获得了临界质量?我热衷于利用一些显然已经对很多人起作用的东西

我是否值得为一个与VisualStudio/TFS配合良好的JavaScript测试框架坚持到底,还是应该改用一种非Microsoft友好的产品


感谢所有的见解

我一直在寻找相同的答案,但现在想知道我是否应该完全放弃在MS环境中开发。随着越来越多的工作在客户端进行,VisualStudio似乎不再那么重要了。有趣的是,自从我使用Eclipse以来,我遇到了同样的问题——缺少JS测试插件!所以我不确定在微软开发之外是否有共识。我认为部分原因是经验丰富的C#/Java开发人员不愿意使用JS,而是希望使用强类型语言进行编译(使用GWT和Script Sharp等工具)。其结果是混淆了什么是最佳实践。但是由于JS的工具似乎正在改进,我有点不情愿地得出结论,JS应该是编码的第一点,而不是添加另一层抽象。因此,我不得不使用他们可用的工具——目前我的选择是QUnit。

我不会走那么远,我会说我正在远离在MS环境中开发。 我认为VisualStudio是一个很棒的工具。在PhoneGap开发中使用Eclipse&XCode,甚至可以让我从另一个角度了解VisualStudio到底是如何运行的

关于JavaScript,VisualStudio2012中有许多增强功能,但单元测试的整体解决方案还不是其中的一部分

在参与了一些重JavaScript的项目之后,他也觉得有必要进行单元测试,因此开始使用QUnit和Sinon.JS进行浏览器内测试

我去那里寻找合适的堆栈以满足我的期望:

  • 与VisualStudio无缝集成。 因此,我们可以在不离开IDE的情况下运行测试

  • 无头测试。 如果可能,同时针对多个浏览器

  • 支持AMD(异步模块定义)/Require.JS

  • 支持异步测试

  • 文档库和工具

  • 免费工具优先

最终,我找到了IDE内部无头测试与JS测试驱动程序的完美结合

我在我的博客上写了一个由三部分组成的系列:

  • 第一部分-期望和选定的堆栈

  • 第二部分-无头测试环境的设置

  • 第三部分-测试AMD/Require.JS模块

您可以在此处找到最后一部分,以及前两篇文章的链接:

我们已经在几个项目中使用了这种组合,并从团队那里得到了非常好的反馈


让我知道它是否适合您……

在2021年,微软似乎建议我们使用NodeJS应用程序来运行JavaScript单元测试。Visual Studio的测试窗口现在可以看到我们在该项目中编写的测试,即使整个项目都是C语言:

推荐的测试库组合(单元测试/模拟/断言)之一是使用Mocha/Sinon/Chai。对于这种口味,这里有一个有用的教程:


谢谢你的想法。自从我提出这个问题以来,事情似乎没有变得更清楚!我知道你在客户端做越来越多的工作是什么意思,但我真的很喜欢Visual Studio for JS中的工具。尤其是最新最棒的版本。不知道Eclipse在这方面的表现如何?现在,我想是的,谢谢你的邀请。你也在Pluralsight上看过这门课吗*3.joe-eames_testing-javascript-m7-utilities#testing-javascript-m4-mockingGreat。没有,我没看过。但是根据你提供的链接,我浏览了TOC。看起来很棒。我考虑过Testacular和Jasmine,但当时没有找到太多关于Testacular的文档,并且发现qUnit和Sinon.JS比Jasmine强大得多。