Cesium unit tests

If you ever need to run the Cesium unit tests, definitely keep reading.

I just wanted to give everyone a heads up that we’ve merged initial karma testing support into Cesium (https://github.com/AnalyticalGraphicsInc/cesium/pull/3381). While it’s not ready to permanently replace our current set up (we still need coverage) this is ultimately a huge step up from our existing infrastructure. The new system will live side-by-side with the old until it’s ready. A big thanks to Gabby Getz the brunt of the work on this.

One of the major features karma gets us is the ability to run our tests via the command-line against multiple browsers simultaneously, meaning it’s more likely we run tests against all browsers before merging a pull request. This will also make the release process easier as well as allow us to run non-webgl tests as part of our travis-ci integration. You can read about the new npm targets here: https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/TestingGuide#run-all-tests-on-the-command-line-with-karma

Finally, this also adds extremely nice Webstorm integration into our Cesium testing suite and allows us to run the tests headless against V8 (via Electron). Meaning you can write/run/debug all tests from within the IDE without every switching to a browser tab. It also allows you to run tests continuously (which when combined with limiting tests to a single suite or test makes debugger or writing new tests a lot easier). Read all about that here: https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/TestingGuide#testing-in-webstorm

If anyone runs into any issues or have any questions, don’t hesitate to ask.