我已经研究并考虑了许多JavaScript单元测试和测试工具,但一直无法找到一个完全符合TDD的合适选项。那么,是否存在完全兼容TDD的JavaScript单元测试工具?
当前回答
Chutzpah -一个JavaScript测试运行器
我创建了一个名为Chutzpah的开源项目,它是JavaScript单元测试的测试运行器。Chutzpah使您能够从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity持续集成服务器中运行。
其他回答
Chutzpah -一个JavaScript测试运行器
我创建了一个名为Chutzpah的开源项目,它是JavaScript单元测试的测试运行器。Chutzpah使您能够从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity持续集成服务器中运行。
MochiKit有一个名为SimpleTest的测试框架,它似乎已经流行起来。 这是原作者的一篇博客文章。
你应该看看env.js。关于如何使用env.js编写单元测试的例子,请参阅我的博客。
作为一个专业人士,你可以“在实际浏览器上运行”,但在我的经验中,这是一个缺点,因为它很慢。但是它的价值在于缺乏对非浏览器替代品的充分的JS模拟。如果你的JS足够复杂,只有在浏览器中测试就足够了,但还有其他几个选项可以考虑:
HtmlUnit:“它有相当好的JavaScript支持(还在不断改进中),甚至能够与相当复杂的AJAX库一起工作,根据你想使用的配置模拟Firefox或Internet Explorer。”如果它的模拟对您的使用来说足够好,那么它将比驱动浏览器快得多。
也许HtmlUnit有足够好的JS支持,但你不喜欢Java?那么:
敏捷:Watir API运行在HtmlUnit支持的JRuby上。
或类似的
Schnell: HtmlUnit的另一个JRuby包装器。
当然,如果HtmlUnit不够好,你必须驱动浏览器,那么你可能会考虑用Watir来驱动你的JS。
巴斯特JS
还有来自Christian Johansen的BusterJS,他是测试驱动Javascript开发和Sinon框架的作者。来自网站:
js是一个新的JavaScript测试框架。它通过在实际浏览器中自动测试运行(想想JsTestDriver)以及Node.js测试来进行浏览器测试。
推荐文章
- Node.js和CPU密集型请求
- val()和text()的区别
- 如何使用Jest测试对象键和值是否相等?
- 将长模板文字行换行为多行,而无需在字符串中创建新行
- 如何在JavaScript中映射/减少/过滤一个集?
- Bower: ENOGIT Git未安装或不在PATH中
- 添加javascript选项选择
- 在Node.js中克隆对象
- 为什么在JavaScript的Date构造函数中month参数的范围从0到11 ?
- 使用JavaScript更改URL参数并指定默认值
- 在window.setTimeout()发生之前取消/终止
- 如何删除未定义和空值从一个对象使用lodash?
- 检测当用户滚动到底部的div与jQuery
- 在JavaScript中检查字符串包含另一个子字符串的最快方法?
- 检测视口方向,如果方向是纵向显示警告消息通知用户的指示