Chr*_*ald 60 javascript ant jquery automation unit-testing
我正在尝试将一些JavaScript单元测试合并到我的自动构建过程中.目前JSUnit与JUnit配合得很好,但它似乎是放弃软件,缺乏对AJAX,调试和超时的良好支持.
有没有人幸运(使用ANT)单元测试库,如YUI测试,JQuery的QUnit或jQUnit(http://code.google.com/p/jqunit/)?
注意:我使用自定义构建的AJAX库,因此Dojo的DOH问题在于它要求您使用自己的AJAX函数调用和事件处理程序来处理任何AJAX单元测试.
Kar*_*arl 24
我正准备开始在我正在开发的新项目上进行Javascript TDD.我目前的计划是使用qunit进行单元测试.虽然可以通过在浏览器中刷新测试页来运行开发测试.
为了持续集成(并确保测试在所有浏览器中运行),我将使用Selenium在每个浏览器中自动加载测试工具,并读取结果.这些测试将在每次签入源代码控制时运行.
我还将使用JSCoverage来获取测试的代码覆盖率分析.这也将通过Selenium实现自动化.
我目前正在设置它.一旦我将设置敲定,我将更详细地更新此答案.
测试工具:
Ale*_*oor 20
有很多javascript单元测试框架(jsUnit,scriptaculous,...)但jsUnit是我所知道的唯一一个可以与自动构建一起使用的框架.
如果您正在进行"真正的"单元测试,则不需要AJAX支持.例如,如果您使用的是RPC ajax框架(如DWR),则可以轻松编写模拟函数:
function mockFunction(someArg, callback) {
var result = ...; // some treatments
setTimeout(
function() { callback(result); },
300 // some fake latency
);
}
是的,JsUnit确实处理超时:在jsUnit测试中模拟时间
我最近读了 Bruno 的一篇文章,使用 JSUnit 并在此基础上创建了一个 JsMock 框架......非常有趣。我正在考虑使用他的工作来开始对我的 JavaScript 代码进行单元测试。
模拟 JavaScript 或如何在浏览器环境之外对 JavaScript 进行单元测试
我刚刚让 Hudson CI 运行 JasmineBDD(无头),至少对于纯 JavaScript 单元测试来说是这样。
(Hudson 通过 shell 运行 Java,运行 Envjs,运行 JasmineBDD。)
不过,我还没有让它像原型一样与大型库很好地配合。