什么是纯粹的浏览器内JavaScript测试框架?

时间:2012-02-04 17:30:16

标签: javascript unit-testing testing test-framework

我想要一个在浏览器中运行的JavaScript的单元测试框架。不像Selenium中的外部浏览器自动化系统,也不是非浏览器JS环境,而只是一个.html,它加载测试框架和测试套件并在该页面中显示结果。我的搜索只发现了其他两种。

我主要感兴趣的是测试预期结果的JavaScript代码而不是崩溃,而不是DOM /事件或视觉外观。

尼斯到富人:

  • 性能测试/基准测试以及正确性测试。
  • 可选外部自动化,因此shell命令可以运行测试套件并检查它是否成功。

要求的动机是:

  • 我正在测试的应用程序目前本身就是纯JavaScript,我希望保持这种方式(没有平台或其他语言依赖)。
  • 我正在使用许多新的或前沿的功能,如ECMAScript 5,Typed Arrays,WebGL和Local Storage。我想测试与这些设施的实际交互,而不是存根。

3 个答案:

答案 0 :(得分:2)

jsunitJasmine

您只能在浏览器中运行Selenium 。下载Selenium Core 1.01。将解压缩的文件上载到要测试的域。打开/core/TestRunner.html并启动浏览器只有Selenium的前端:)

我在几个项目中使用这种测试。只有一个地方可以存储和运行测试,这是完美的。您可以通过cronjobs触发这些并捕获结果。我对它进行了大量扩展,并将结果保存到数据库中,并在发生错误时自动截取JS。

如果版本>中仍然支持这种运行的Selenium 2.0,我不知道。这是一个很小的documentation

答案 1 :(得分:1)

我建议qunit。它由jQuery团队创建(用于测试jQuery框架),并且可以在浏览器和节点中使用。设置测试非常快,只有一个HTML文件,其中包含测试的脚本标记,并且已有详细记录。

答案 2 :(得分:0)

除了那些已经提到的(qunit& Jasmine)我推荐mocha.js,它增加了一点点复杂性,但它更加灵活,你需要加载文件,添加一个脚本标签与配置和开始测试,如果测试失败,如果它抛出异常,你可以使用你喜欢的任何断言/期望库。