Visual Studio/Build Server的JavaScript单元测试工具-尚未达成共识
JavaScript unit testing tools for Visual Studio / Build Server - any consensus yet?
情况如下:
- 我们是一家使用Visual Studio/TFS等的微软商店
- 我们有一个构建服务器,它每晚为我们执行构建并运行各种测试,以确保白天没有任何损坏
- 我们现在正在做越来越多的JavaScript,而且这种情况可能还会继续下去
我们的JavaScript目前都没有经过测试,因为当我环顾四周时,我发现JavaScript测试世界正处于不断变化的状态。我读过很多产品,但我不确定该走哪条路。我发现这个问题在原始信息方面很有帮助:
TDD 的JavaScript单元测试工具
理想情况下,我希望使用能够很好地集成到Visual Studio和我们的TFS构建服务器中的东西。大多数JavaScript测试选项似乎都支持这一点。
我发现了这篇文章:(但我不太喜欢使用jscript进行测试)
http://stephenwalther.com/blog/archive/2010/12/20/integrating-javascript-unit-tests-with-visual-studio.aspx
我发现了这个——看起来很有前景:
http://chutzpah.codeplex.com/
所以我想知道的是,目前是否有任何共识?人们是否采用了一种工具而不是另一种工具,是否有任何方法获得了临界质量?我很想利用一些显然已经对很多人有效的东西。
值得我为一个与Visual Studio/TFS配合良好的JavaScript测试框架而坚持吗?还是应该使用一种非Microsoft友好的产品?
感谢所有见解!
我不会走那么远,我会说我正在远离在MS环境中开发。我认为Visual Studio是一个很棒的工具。使用Eclipse&用于PhoneGap开发的XCode甚至让我从另一个角度了解了Visual Studio是如何真正发挥作用的。
关于JavaScript,Visual Studio 2012中有许多增强功能,但单元测试的整体解决方案还不是其中的一部分
在参与了一些JavaScript繁重的项目后,也觉得有必要进行单元测试,因此开始使用QUnit和Sinon.JS.进行浏览器内测试
我去那里寻找合适的堆栈来满足我的期望:
-
与Visual Studio无缝集成。因此,我们可以在不离开IDE的情况下运行测试。
-
无头测试。如果可能的话,同时针对多个浏览器。
-
支持AMD(异步模块定义)/Require.JS.
-
支持异步测试。
-
文档库&工具。
-
首选免费工具。
最终,我找到了从IDE内部进行Headless测试和JS测试驱动程序的完美组合。
我在我的博客上写了一个由三部分组成的系列:
-
第一部分-期望和;选择的堆栈
-
第二部分-设置无头测试的环境
-
第三部分-测试AMD/Require.JS模块
你可以在这里找到最后一部分,链接到前两个帖子:
http://www.upstruct.net/2013/02/javascript-unit-testing-in-visual-part-3.html
我已经在几个项目中使用了这种组合,到目前为止,从团队那里得到了非常好的反馈。
如果它适合你,请告诉我。。。
我一直在寻找同样的答案,但现在想知道我是否应该完全放弃在MS环境中开发。随着我所做的越来越多的工作都是在客户端进行的,Visual Studio似乎不那么重要了。有趣的是,自从我玩Eclipse以来,我也遇到了同样的问题——缺少JS测试插件!所以我不确定在MS开发之外是否有共识。我认为这部分是因为经验丰富的C#/Java开发人员不愿意使用JS,而是希望使用强类型语言进行编译(使用GWT和Script Sharp等工具)。其结果是混淆了什么是最佳实践。但是,由于JS的工具似乎在改进,我有点不情愿地得出结论,JS应该是编码的第一点,而不是添加另一层抽象。因此,我只能使用他们可用的工具——QUnit目前是我的选择。
2021年,微软似乎建议我们使用NodeJS应用程序来运行JavaScript单元测试。Visual Studio的测试窗口现在可以看到我们在该项目中编写的测试,即使整个项目是C#:
- https://learn.microsoft.com/en-us/visualstudio/javascript/unit-testing-javascript-with-visual-studio?view=vs-2019年;tabs=摩卡
推荐的测试库组合(单元测试/嘲讽/断言)之一是使用Mocha/Sinon/Chai。对于这种口味,这里有一个有用的教程:
- https://scotch.io/tutorials/how-to-test-nodejs-apps-using-mocha-chai-and-sinonjs
- 我的单元测试选项是什么
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 使用量角器的当前url单元测试的getTitle
- 如何安装Jasmin:Velocity项目上的javascript测试工具
- 使用Dalekjs测试工具,如何在Dropdown中选择Option(select元素)当没有“;值“;Option标记
- 您如何在Google富集摘要测试工具中测试AngularJS网络应用程序的 schema.org 元标记
- 如何使用硒测试工具提示函数值
- Visual Studio/Build Server的JavaScript单元测试工具-尚未达成共识
- Javascript测试工具
- JQuery测试工具
- Jasmine-maven-plugin加载一些其他测试工具的通用脚本
- Jest(反应测试工具)错误-解析错误:第1行:非法导入声明
- Regex在Javascript .split()上不匹配,但在测试工具上匹配
- 用于复杂web项目的单元测试框架/工具
- 如何编写一个HTML JSON AJAX测试工具与美化,语法突出显示JSON结果
- 使用 QUnit(或其他单元测试工具)测试映射/集
- 根据在线测试工具有效的RegEx,在浏览器中读取文件时没有得到任何匹配
- NodeJs 压力测试工具/方法
- JQuery单元测试工具提示(jasmine, qunit等)
- 哪些分割测试工具可以用于ajax重站点