After integrating with Travis-CI I've noticed that false positives are possible when a spec file for some reason throws an error.
All the files linted on travis
Running "jshint:files" (jshint) task
Verifying property jshint.files exists in config...OK
Options: force=false, reporterOutput=null, jshintrc=".jshintrc", ignores=["bower_components/**"]
OK
>> 29 files lint free.
But when phantom starts up one of the specs fails and this only happens within travis. I an other coworkers can checkout a fresh repo and run the same grunt task without a hitch.
Testing jasmine specs via phantom
>> Error: xhrFailed at
>> http:/localhost:8000/bower_components/dojo/dojo.js:301
>> http:/localhost:8000/bower_components/dojo/dojo.js:1509
>> http:/localhost:8000/bower_components/dojo/dojo.js:93
>> http:/localhost:8000/bower_components/dojo/dojo.js:728
>> http:/localhost:8000/bower_components/dojo/dojo.js:1247
>> http:/localhost:8000/bower_components/dojo/dojo.js:746
>> http:/localhost:8000/bower_components/dojo/dojo.js:791
>> http:/localhost:8000/bower_components/dojo/dojo.js:124
>> http:/localhost:8000/widgets/tests/spec/SpecSearch.js:379
Jasmine Runner Starting...
This error is swallowed, the other spec files are run, and if they all pass travis thinks all is well.
What ways do we have to combat this? Basically the entire spec files will not load or run yet we have a build:passing image. I want to be able to trust the CI without having to look at the output.
I can run 74 tests with grunt travis locally, but when run on travis it passes with 55.