如何测试前端 JavaScript 库并与 Travis 集成?
How to test a front-end JavaScript library and integrate with Travis?
我已经尝试过使用 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/etc?
我听说过 "PhantomJS" 和 "Selenium" 这两个词,我认为这与我想要完成的事情有关。是否有类似 "hello, world" 的带有测试和 Travis 集成的项目可以学习?
Travis 文档 lists three basic ways 完成此操作:
- PhantomJS 无头浏览器
- 运行使用虚拟显示使用 Firefox 或
- 使用 Saucelabs 浏览器 VM 服务
使用 PhantomJS 进行测试是最快的,因为它不模拟显示(不过它仍然允许您创建屏幕截图)。 PhantomJS 带有一个 run-jasmine example.
之后就可以直接执行phantom测试脚本了,只需运行ning
script: phantomjs run-jasmine.js
在您的 .travis.yml
中,没有 G运行t 等构建系统的额外开销。
如果测试您的项目需要一个真正的浏览器 GUI,那么您可以选择 2 或 3。
Saucelabs 浏览器虚拟机具有真正跨浏览器测试的优势;如果您的项目是开源的,他们会提供 free plan. They also provide an in-depth tutorial for your specific use case: Travis + Jasmine + Saucelabs,但是需要 G运行t 才能 运行.
我已经尝试过使用 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/etc?
我听说过 "PhantomJS" 和 "Selenium" 这两个词,我认为这与我想要完成的事情有关。是否有类似 "hello, world" 的带有测试和 Travis 集成的项目可以学习?
Travis 文档 lists three basic ways 完成此操作:
- PhantomJS 无头浏览器
- 运行使用虚拟显示使用 Firefox 或
- 使用 Saucelabs 浏览器 VM 服务
使用 PhantomJS 进行测试是最快的,因为它不模拟显示(不过它仍然允许您创建屏幕截图)。 PhantomJS 带有一个 run-jasmine example.
之后就可以直接执行phantom测试脚本了,只需运行ning
script: phantomjs run-jasmine.js
在您的 .travis.yml
中,没有 G运行t 等构建系统的额外开销。
如果测试您的项目需要一个真正的浏览器 GUI,那么您可以选择 2 或 3。
Saucelabs 浏览器虚拟机具有真正跨浏览器测试的优势;如果您的项目是开源的,他们会提供 free plan. They also provide an in-depth tutorial for your specific use case: Travis + Jasmine + Saucelabs,但是需要 G运行t 才能 运行.