如何测试前端JavaScript库并与Travis集成

How to test a front-end JavaScript library and integrate with Travis?

本文关键字:Travis 集成 JavaScript 前端 何测试 测试      更新时间:2023-09-26

我已经尝试过使用Jasmine或Mocha测试NodeJS库,但我不知道如何测试前端项目。我在网上找到了教程,但所有的东西都包括工作流程中的任务管理器,我想知道如何在没有任务管理器的情况下做到这一点。

我发现以下问题与我所问的问题很接近:

将Travis CI用于客户端JavaScript库?

在我的案例中,我正在使用Jasmine,并且已经设置了Jasmine SpecRunner.html、Jasmine库和spec/mylibSpec.js。当我在浏览器上运行SpecRunner.html时,测试就通过了。

现在,我如何将其与Travis、没有Grunt/Gulp/Brunch等集成?

我听过"PhantomJS"answers"Selenium"这两个词,我认为这与我正在努力实现的目标有关。有没有一个类似于"你好,世界"的项目可以从中学习测试和Travis集成?

Travis文档列出了实现这一目标的三种基本方法:
  1. PhantomJS无头浏览器
  2. 使用虚拟显示器运行Firefox或
  3. 使用Saucelabs浏览器VM服务

使用PhantomJS进行测试是最快的,因为它不模拟显示(不过它仍然允许您创建屏幕截图)。PhantomJS附带了一个run jasmine示例。

幻影测试脚本可以直接执行,只需运行

script: phantomjs run-jasmine.js

在您的.travis.yml中,而不需要像Grunt这样的构建系统的额外开销。

如果测试您的项目需要一个真正的浏览器GUI,那么您可以选择2或3。

Saucelabs浏览器虚拟机具有真正的跨浏览器测试的优势;如果你的项目是开源的,他们会提供免费的计划。他们还为您的特定用例提供了深入的教程:Travis+Jasmine+Saucelabs,但它确实需要Grunt才能运行。