我已经研究并考虑了许多JavaScript单元测试和测试工具,但一直无法找到一个完全符合TDD的合适选项。那么,是否存在完全兼容TDD的JavaScript单元测试工具?
当前回答
YUI也有一个测试框架。这段视频来自雅虎!尽管前面有很多关于TDD的基础知识,但剧场是一个很好的介绍。
这个框架是通用的,可以针对任何JavaScript或JS库运行。
其他回答
作为一个专业人士,你可以“在实际浏览器上运行”,但在我的经验中,这是一个缺点,因为它很慢。但是它的价值在于缺乏对非浏览器替代品的充分的JS模拟。如果你的JS足够复杂,只有在浏览器中测试就足够了,但还有其他几个选项可以考虑:
HtmlUnit:“它有相当好的JavaScript支持(还在不断改进中),甚至能够与相当复杂的AJAX库一起工作,根据你想使用的配置模拟Firefox或Internet Explorer。”如果它的模拟对您的使用来说足够好,那么它将比驱动浏览器快得多。
也许HtmlUnit有足够好的JS支持,但你不喜欢Java?那么:
敏捷:Watir API运行在HtmlUnit支持的JRuby上。
或类似的
Schnell: HtmlUnit的另一个JRuby包装器。
当然,如果HtmlUnit不够好,你必须驱动浏览器,那么你可能会考虑用Watir来驱动你的JS。
看看Dojo Object Harness (DOH)单元测试框架,它是用于JavaScript单元测试的基本框架独立的工具,没有任何Dojo依赖项。在使用Dojo Objective Harness进行Web 2.0应用程序的单元测试中有很好的描述。
如果你想自动化UI测试(这是许多开发人员的痛点),请查看doh。机器人(暂时关闭。更新:其他链接http://dojotoolkit.org/reference-guide/util/dohrobot.html)和dijit。Robotx(暂时关闭)。后者是为验收测试设计的。 更新:
参考文章解释了如何使用它们,如何模拟用户使用鼠标和/或键盘与UI交互,以及如何记录测试会话,以便稍后可以自动“播放”它。
Chutzpah -一个JavaScript测试运行器
我创建了一个名为Chutzpah的开源项目,它是JavaScript单元测试的测试运行器。Chutzpah使您能够从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity持续集成服务器中运行。
google-js-test:
谷歌发布的JavaScript测试框架: https://github.com/google/gjstest
极快的测试启动和执行时间,无需运行 浏览器。 在通过和失败测试的情况下,干净、可读的输出。 基于浏览器的测试运行程序,可以简单地进行刷新 每当JS被改变。 样式和语义类似于谷歌Test for c++。 一个内置的模拟框架,只需要最少的样板代码(例如no $tearDown或$verifyAll),样式和语义基于谷歌 c++模拟框架。
目前还没有Windows的二进制文件
巴斯特JS
还有来自Christian Johansen的BusterJS,他是测试驱动Javascript开发和Sinon框架的作者。来自网站:
js是一个新的JavaScript测试框架。它通过在实际浏览器中自动测试运行(想想JsTestDriver)以及Node.js测试来进行浏览器测试。
推荐文章
- python中的assertEquals和assertEqual
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError: