TDD的JavaScript单元测试工具

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

Near神无Pro2020/03/11 12:08:54

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

GOMandy2020/03/11 12:08:53

你应该看看env.js有关如何使用env.js编写单元测试的示例,请参见我的博客

卡卡西西里2020/03/11 12:08:53

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

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

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

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

米亚西里2020/03/11 12:08:53

YUI也有一个测试框架来自Yahoo!的视频尽管有很多有关TDD的基础知识,但Theater是一个不错的介绍。

该框架是通用的,可以针对任何JavaScript或JS库运行。

Jim老丝梅2020/03/11 12:08:53

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

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

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

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

或类似

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

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

小胖Tony2020/03/11 12:08:53

现在,我们将Qunit与Pavlov和JSTestDriver一起使用。这种方法对我们很好。

QUnit

巴甫洛夫

jsTestDriver

阿飞飞云2020/03/11 12:08:53

google-js-test:

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

  • 非常快速的测试启动和执行时间,而无需运行浏览器。
  • 在通过和未通过测试的情况下,输出均清晰,可读。
  • 一个基于浏览器的测试运行时JS改变,可以简单地被刷新。
  • Google Test for C ++ 类似的样式和语义
  • 一个内置的模拟框架,它需要最少的样板代码(例如no $tearDown$verifyAll),并具有基于Google C ++ Mocking Framework的样式和语义

当前没有适用于Windows的二进制文件

伽罗Gil2020/03/11 12:08:53

巴斯特

还有测试驱动Javascript开发和Sinon框架的作者Christian Johansen的BusterJS从站点:

Buster.JS是一个新的JavaScript测试框架。它通过自动化实际浏览器(例如JsTestDriver)中的测试运行以及Node.js测试来进行浏览器测试。

L西门2020/03/11 12:08:53

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

伽罗小哥2020/03/11 12:08:53

Chutzpah-JavaScript测试运行程序

我创建了一个名为Chutzpah的开源项目,该项目是JavaScript单元测试的测试运行器。Chutzpah使您能够从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity连续集成服务器中运行。

古一NearEva2020/03/11 12:08:53

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

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

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