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

时间:2015-03-01 13:08:44

标签: javascript integration-testing frontend travis-ci

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

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

Using Travis-CI for client-side JavaScript libraries?

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

现在,我如何将其与Travis,没有 Grunt / Gulp / Brunch /等整合?

我听过" PhantomJS"和#34; Selenium"我认为这与我想要完成的事情有关。是否有一个" hello,world" -like项目,可以从中学习测试和Travis集成?

1 个答案:

答案 0 :(得分:7)

Travis文档lists three basic ways完成此任务:

  1. PhantomJS无头浏览器
  2. 使用虚拟显示器运行Firefox或
  3. 使用Saucelabs浏览器VM服务
  4. 使用PhantomJS进行测试是最快的,因为它不会模拟显示(但它仍然允许您创建屏幕截图)。 PhantomJS带有run-jasmine example

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

    即可
    script: phantomjs run-jasmine.js
    

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

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

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