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

Bub*_*ver 5 javascript frontend integration-testing travis-ci

我已经尝试使用Jasmine或Mocha测试NodeJS库,但我不知道如何测试前端项目.我已经在网上找到了教程,但是工作流程中的所有内容都包含了一个任务管理器,我想知道如何在没有教程的情况下执行此操作.

我发现以下问题接近我的要求:

将Travis-CI用于客户端JavaScript库?

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

现在,如何在没有 Grunt/Gulp/Brunch /等的情况下将其与Travis整合?

我听过"PhantomJS"和"Selenium"的字样,我认为这与我想要完成的事情有关.是否有一个"你好,世界"的项目与测试和Travis集成可以学习?

jan*_*oeh 7

Travis文档列出了实现此目的的三种基本方法:

  1. PhantomJS无头浏览器
  2. 使用虚拟显示器运行Firefox或
  3. 使用Saucelabs浏览器VM服务

使用PhantomJS进行测试是最快的,因为它不会模拟显示(但它仍然允许您创建屏幕截图).PhantomJS带有run-jasmine示例.

然后可以直接执行幻像测试脚本,只需运行即可

script: phantomjs run-jasmine.js
Run Code Online (Sandbox Code Playgroud)

在你的.travis.yml,没有像Grunt这样的构建系统的额外开销.

如果测试您的项目需要一个真正的浏览器GUI,那么您将获得选项2或3.

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