使用JavaScript进行自动单元测试

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我正在尝试将一些JavaScript单元测试合并到我的自动构建过程中。目前JSUnit可以很好的与JUnit协同工作,但它似乎被遗弃,并且对AJAX,调试和超时缺乏良好的支持。

有没有人有运气自动化(与ANT)单元测试库,如YUI测试,JQuery的QUnit,或jQUnit(http://code.google.com/p/jqunit/)?

我使用定制的AJAX库,所以Dojo的DOH问题在于它需要您使用自己的AJAX函数调用和事件处理程序来处理任何AJAX单元测试。

提问于
用户回答回答于

有许多JavaScript单元测试框架(jsUnit,scriptaculous,...),但jsUnit是我知道的唯一可以用于自动构建的。

如果你正在做'true'单元测试,你不应该需要AJAX支持。例如,如果您使用的是诸如DWR之类的RPC ajax框架,则可以轻松编写一个模拟函数:

   函数mockFunction(someArg,回调){
      var result = ...; //一些治疗   
      的setTimeout(

        function(){callback(result); },
        300 //一些虚假的延迟

      );
    }

是的,JsUnit确实处理超时:在jsUnit测试中模拟时间

用户回答回答于

我正要开始在我正在开发的一个新项目上开发Javascript TDD。我目前的计划是用qunit来做单元测试。开发测试可以通过在浏览器中刷新测试页面来运行。

为了持续集成(并确保测试在所有浏览器中运行),我将使用Selenium自动加载每个浏览器中的测试工具并读取结果。这些测试将在每次签入源代码控制时运行。

我也将使用JSCoverage来获取测试的代码覆盖率分析。这也将通过Selenium实现自动化。

我目前正在设置这个中间。一旦我将设置敲定出来,我会更新这个答案并提供更详细的信息。

测试工具:

扫码关注云+社区