【推荐】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.html )和dijit .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编写单元测试的示例。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3145972