edx/edx-platform — pull request #798 by wedaly (2013-08-27 00:25:44+00:00)
Title: Integrate js-test-tool into testing infrastructure

**Squashed into one commit** from https://github.com/edx/edx-platform/pull/677

[js-test-tool](https://github.com/edx/js-test-tool) provides an easy-to-use interface for defining JavaScript test suites, running tests, and collecting coverage information. This PR integrates the tool into our testing infrastructure.

Key features:

* Test suites are defined in YAML files for lms/static, cms/static, common/static, and xmodule, including both JavaScript and CoffeeScript.

* The django-jasmine dependency has been removed. You can now run JS tests without starting up Django!

* All tests run in Firefox. This will allow us to test HTML5 functionality (e.g. VideoAlpha). js-test-tool uses Selenium to run the tests, so we can change this to any WebDriver-compatible browser in the future.

* Video tests have been enabled and are passing in Firefox. (They do not pass in Chrome yet, still need to figure out why.)

* XML coverage information is reported for all source files in `reports/javascript/coverage.xml`. The package is set to "javascript" so we can filter just JS coverage in Jenkins. Support for HTML reports (showing which lines are covered/uncovered) will be added in a future PR.

* Diff-cover now generates one report for all Python and JavaScript.

* js-test-tool provides a "developer" mode specifically for writing and debugging the test suite. This will load the tests into your default browser and continue serving the test pages until you terminate the tool.

New commands:

# Run all JavaScript tests and print results the the console
rake test:js

# Run all JavaScript tests and collect coverage information
rake test:js:coverage

# Run the JavaScript tests in your default browser
rake test:js:dev[lms]
rake test:js:dev[cms]
rake test:js:dev[common]
rake test:js:dev[xmodule]

# Run the JavaScript tests and print results to the console
rake test:js:run[lms]
rake test:js:run[cms]
rake test:js:run[common]
rake test:js:run[xmodule]

Thanks to everyone who gave feedback in https://github.com/edx/edx-platform/pull/677
@valera-rozuvan @jzoldak Am I good to merge?