General approach for functional testing:
Do programmatic user interactions via headless browser and analyze the resulting DOM mutations.
- Gotcha: Phantom 2 downloaded from official site doesn't work on Yosemite. Get a working binary here.
- mocha-phantomjs looks promising but isn't on 2 yet.
- Looks like Travis needs Phantom 2.
- Phantom doesn't play nice with node, but there are some bridges between them:
A navigation scripting & testing utility for PhantomJS and SlimerJS. So far I've been able to get some very basic functional tests, but doing things like clicking buttons doesn't seem to work.
- Appears to not work on OSX Yosemite...
LESS
node 0.12 is only compatible with gulp-less
^3.0.1, so projects that Travis-build against node v10 will break locally with v12