Karma is the preeminent cross-browser test framework. It is built in the style of JSTestDriver (remote browsers controlled via HTTP) but in node.js instead of Java. It also overcomes a number of JSTestDriver's fundamental issues - namely that errors in the code under test do not affect the stability of the runner. Karma is fast, lightweight and extensible. Through its diverse plugin ecosystem it supports any testing framework (Jasmine, Mocha, Qunut, etc), any browser (including any browser on BrowserStack), and a number of great reporters.

I've taken advantage of that plugin architecture to write a BDD-style story reporter for Karma. It's useful to be able to indicate the layout and hierarchy of tests, making tests more readable and self-descriptive. Any failing test and its parent suite blocks are marked red, passes are green and slow tests are reported in yellow (unless they fail, when they are red too).

karma-story-runner

karma-story-reporter is released under the MIT license and can be installed via npm

npm install karma-story-reporter --save-dev

Source is available on GitHub.