【问题标题】:What is a pure in-browser JavaScript test framework? [closed]什么是纯浏览器内 JavaScript 测试框架? [关闭]
【发布时间】:2012-02-04 17:30:16
【问题描述】:

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

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

锦上添花:

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

需求的动机是:

  • 我正在测试的应用程序目前本身是纯 JavaScript,我希望保持这种状态(不依赖于平台或其他语言)。
  • 我正在使用许多更新或前沿的功能,例如 ECMAScript 5、类型化数组、WebGL 和本地存储。我想测试与这些设施的实际交互,而不是存根。

【问题讨论】:

    标签: javascript unit-testing testing test-framework


    【解决方案1】:

    jsunitJasmine

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

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

    如果2.0以上的版本还支持这种运行的Selenium,我不知道。这是一个很小的documentation

    【讨论】:

    • 我试用了 Jasmine,发现它足够了。
    【解决方案2】:

    我推荐qunit。它由 jQuery 团队创建(用于测试 jQuery 框架),它可以在浏览器和节点中运行。设置测试非常快,只需一个 HTML 文件,其中包含测试的脚本标签,并且有据可查。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-10-17
        • 2010-11-09
        • 1970-01-01
        • 2013-10-27
        • 2018-04-23
        • 2013-01-06
        • 2014-01-27
        • 2014-02-21
        • 1970-01-01
        相关资源
        最近更新 更多