Travis CI is a popular continuous integration service that
integrates with your Github repository to automatically run your
tests when code is pushed. Integration is done by adding a simple
YAML file to your project root; Travis and Github take care of the
rest. Travis results will appear in your Github pull requests and your
history is available on their control panel. This article assumes you
already have Travis account.
Configure Travis #
Create a file in your project root called
.travis.yml with the
following YAML content:
Setup a Test Command #
If you do not already have a
package.json in your project root
create one now. Travis runs
npm test to trigger your tests so this
is where you tell Travis how to run your tests.
'test': './node_modules/.bin/karma start --single-run --browsers PhantomJS'
Travis will run
npm install before every suite so this is your
chance to specify any modules your app needs that Travis does not know
about like Karma.
Configure Travis with Firefox #
Travis supports running a real browser (Firefox) with a virtual
screen. Just update your
.travis.yml to set up the virtual screen
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
And now, you can run your tests on Firefox, just change the
./node_modules/.bin/karma start --browsers Firefox --single-run
- Travis' Node environment has very little available. If the startup
process in Travis fails check for missing module information and be
sure to add them to your
- Travis does not run in your local network so any code that attempts
to connect to resources should be stubbed out using Nock.
- There are more options available to your
.travis.yml, such as
running scripts before the install or test run. There are hints in
the Travis docs for GUI apps configuration.