我已经研究并考虑了许多JavaScript单元测试和测试工具,但一直无法找到一个完全符合TDD的合适选项。那么,是否存在完全兼容TDD的JavaScript单元测试工具?
当前回答
作为一个专业人士,你可以“在实际浏览器上运行”,但在我的经验中,这是一个缺点,因为它很慢。但是它的价值在于缺乏对非浏览器替代品的充分的JS模拟。如果你的JS足够复杂,只有在浏览器中测试就足够了,但还有其他几个选项可以考虑:
HtmlUnit:“它有相当好的JavaScript支持(还在不断改进中),甚至能够与相当复杂的AJAX库一起工作,根据你想使用的配置模拟Firefox或Internet Explorer。”如果它的模拟对您的使用来说足够好,那么它将比驱动浏览器快得多。
也许HtmlUnit有足够好的JS支持,但你不喜欢Java?那么:
敏捷:Watir API运行在HtmlUnit支持的JRuby上。
或类似的
Schnell: HtmlUnit的另一个JRuby包装器。
当然,如果HtmlUnit不够好,你必须驱动浏览器,那么你可能会考虑用Watir来驱动你的JS。
其他回答
我们现在把Qunit与Pavlov和JSTestDriver一起使用。这种方法对我们很有效。
库尼特
巴甫洛夫,源
jsTestDriver, source
google-js-test:
谷歌发布的JavaScript测试框架: https://github.com/google/gjstest
极快的测试启动和执行时间,无需运行 浏览器。 在通过和失败测试的情况下,干净、可读的输出。 基于浏览器的测试运行程序,可以简单地进行刷新 每当JS被改变。 样式和语义类似于谷歌Test for c++。 一个内置的模拟框架,只需要最少的样板代码(例如no $tearDown或$verifyAll),样式和语义基于谷歌 c++模拟框架。
目前还没有Windows的二进制文件
YUI也有一个测试框架。这段视频来自雅虎!尽管前面有很多关于TDD的基础知识,但剧场是一个很好的介绍。
这个框架是通用的,可以针对任何JavaScript或JS库运行。
Chutzpah -一个JavaScript测试运行器
我创建了一个名为Chutzpah的开源项目,它是JavaScript单元测试的测试运行器。Chutzpah使您能够从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity持续集成服务器中运行。
Wikipedia条目的JavaScript部分,单元测试框架列表,提供了可用选项的列表。它指示它们是工作在客户端、服务器端还是两者都工作。
推荐文章
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- Babel 6改变了它导出默认值的方式
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何禁用文本选择使用jQuery?
- 如何停止事件冒泡复选框点击
- 单元测试反模式目录
- 向对象数组添加属性