如何测试前端JavaScript库并与Travis集成
How to test a front-end JavaScript library and integrate with Travis?
我已经尝试过使用Jasmine或Mocha测试NodeJS库,但我不知道如何测试前端项目。我在网上找到了教程,但所有的东西都包括工作流程中的任务管理器,我想知道如何在没有任务管理器的情况下做到这一点。
我发现以下问题与我所问的问题很接近:
将Travis CI用于客户端JavaScript库?
在我的案例中,我正在使用Jasmine,并且已经设置了Jasmine SpecRunner.html
、Jasmine库和spec/mylibSpec.js
。当我在浏览器上运行SpecRunner.html
时,测试就通过了。
现在,我如何将其与Travis、没有Grunt/Gulp/Brunch等集成?
我听过"PhantomJS"answers"Selenium"这两个词,我认为这与我正在努力实现的目标有关。有没有一个类似于"你好,世界"的项目可以从中学习测试和Travis集成?
- PhantomJS无头浏览器
- 使用虚拟显示器运行Firefox或
- 使用Saucelabs浏览器VM服务
使用PhantomJS进行测试是最快的,因为它不模拟显示(不过它仍然允许您创建屏幕截图)。PhantomJS附带了一个run jasmine示例。
幻影测试脚本可以直接执行,只需运行
script: phantomjs run-jasmine.js
在您的.travis.yml
中,而不需要像Grunt这样的构建系统的额外开销。
如果测试您的项目需要一个真正的浏览器GUI,那么您可以选择2或3。
Saucelabs浏览器虚拟机具有真正的跨浏览器测试的优势;如果你的项目是开源的,他们会提供免费的计划。他们还为您的特定用例提供了深入的教程:Travis+Jasmine+Saucelabs,但它确实需要Grunt才能运行。
相关文章:
- 如何检测用于WebGL的专用或集成显卡
- 在我的SPA应用程序中集成Facebook共享的问题
- vaadin:使用自定义布局集成angular js
- React ajax数据集成
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- IE中关于ZK和JavaScript集成的一些错误
- 如何将拼写检查集成到密文编辑器
- 将外部文件与AngularJs集成
- 如何将tesseract OCR与Cordova/Phonegap应用程序集成
- Cordova Facebook登录集成cordovaOauth
- 如何在Angular js中集成其他页面中的样式
- 性能与模块化:将JS集成到PHP或单独的custom.JS中
- Travis CI构建持续失败
- Meteor集成测试,在velocity'她的镜子上有茉莉花
- Okta与JavaScript的集成
- 将prettyPhoto集成到Wordpress主题中
- 将epub.js集成到firefox中,作为.epub的默认读取器
- 在Meteor:p5.AudioIn()中集成p5.sound.js不是构造函数
- 如何将现有的angular js应用程序集成到Laravel 5中
- 如何测试前端JavaScript库并与Travis集成