TDD的JavaScript单元测试工具

一个人想着一个人 提交于 2019-12-22 20:39:45

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

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


#1楼

看一下Dojo对象线束(DOH)单元测试框架 ,它是JavaScript单元测试的几乎与框架无关的工具,并且没有任何Dojo依赖项。 使用Dojo Objective Harness对Web 2.0应用程序进行单元测试时 ,对此有很好的描述。

如果要自动化UI测试(许多开发人员的苦恼 ),请查看doh.robot (临时向下更新:其他链接http://dojotoolkit.org/reference-guide/util/dohrobot.htmldijit .robotx (暂时关闭) 。 后者专为验收测试而设计。 更新:

引用的文章介绍了如何使用它们,如何模拟用户使用鼠标和/或键盘与UI交互以及如何记录测试会话,以便以后可以自动“播放”它。


#2楼

作为专家,您可以“在实际的浏览器上运行”,但是根据我的经验,这是一个缺点,因为它运行缓慢。 但是,使之具有价值的是非浏览器替代品缺乏足够的JS仿真。 如果您的JS非常复杂,以至于仅在浏览器中进行测试就足够了,但是还可以考虑以下两个选项:

HtmlUnit :“它具有相当好的JavaScript支持(正在不断改进),并且即使在非常复杂的AJAX库中也可以工作,根据您要使用的配置来模拟Firefox或Internet Explorer。” 如果它的仿真足以供您使用,那么它将比驱动浏览器快得多。

但是,也许HtmlUnit具有足够好的JS支持,但是您不喜欢Java吗? 然后也许:

Celerity :在由HtmlUnit支持的JRuby上运行的Watir API。

或类似

Schnell :HtmlUnit的另一个JRuby包装器。

当然,如果HtmlUnit不够好,并且您必须驱动浏览器,则可以考虑使用Watir来驱动JS


#3楼

MochiKit有一个名为SimpleTest的测试框架,似乎很流行。 这是原始作者博客文章


#4楼

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

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

要查找有关可用来定义单元测试的JS类的更多信息,请参见在线API查看器

对于自动UI测试(基于Selenium RC),请签出Simulator项目。


#5楼

您应该看看env.js。 请参阅我的博客以获取有关如何使用env.js编写单元测试的示例。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!