我已经研究并考虑了许多JavaScript单元测试和测试工具,但一直无法找到一个完全符合TDD的合适选项。那么,是否存在完全兼容TDD的JavaScript单元测试工具?


当前回答

google-js-test:

谷歌发布的JavaScript测试框架: https://github.com/google/gjstest

极快的测试启动和执行时间,无需运行 浏览器。 在通过和失败测试的情况下,干净、可读的输出。 基于浏览器的测试运行程序,可以简单地进行刷新 每当JS被改变。 样式和语义类似于谷歌Test for c++。 一个内置的模拟框架,只需要最少的样板代码(例如no $tearDown或$verifyAll),样式和语义基于谷歌 c++模拟框架。

目前还没有Windows的二进制文件

其他回答

MochiKit有一个名为SimpleTest的测试框架,它似乎已经流行起来。 这是原作者的一篇博客文章。

看看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交互,以及如何记录测试会话,以便稍后可以自动“播放”它。

你应该看看env.js。关于如何使用env.js编写单元测试的例子,请参阅我的博客。

您可能还会对qooxdoo的单元测试框架感兴趣,qooxdoo是一个开源的RIA框架,类似于Dojo、ExtJS等,但拥有相当全面的工具链。

试试testrunner的在线版本。提示:点击左上角的灰色箭头(应该更明显)。它是一个“播放”按钮,运行选定的测试。

要了解更多关于定义单元测试的JS类的信息,请参阅在线API查看器。

对于自动化UI测试(基于Selenium RC),请查看模拟器项目。

Wikipedia条目的JavaScript部分,单元测试框架列表,提供了可用选项的列表。它指示它们是工作在客户端、服务器端还是两者都工作。