test-studio
v0.1.25
Published
A powerful browser based unit testing user interface.
Downloads
70
Readme
test-studio
test-studio is a powerful web-based front end for node.js unit testing.
For an overview of features, check out this blog post.
Installation
npm install -g test-studio
For debugger support, you also need to install node-inspector.
npm install -g node-inspector
Operation
Starting the test-studio server is as simple as running
test-studio
This starts a web server on port 1678. By default, the current working directory
is scanned and monitored recursively for files with an extension of .tests.js
.
If your existing suite conforms to mocha defaults, i.e. scan files with an extension
of .js
in the test
folder and use the bdd
interface, invoke test-studio
with the --mocha
, or -m
option.
To see test-studio in action, you can run the system tests by passing the
--system
option.
test-studio can then be accessed by pointing your browser at
http://localhost:1678/
Chrome is required for debugging.
Tests
Currently, test-studio only supports mocha. More frameworks will be added given demand.
The default interface is TDD. This can be set using the --interface
option.
suite('math', function () {
test('add sums arguments', function () {
var math = require('math');
expect(math.add(1, 1)).to.equal(2);
});
});
Various enhancements are available to assist testing.
sinon
Spies, stubs and mocks are available through the sinon
psuedo-global variable.
var stub = sinon.stub().returns(42);
See http://sinonjs.org/ for full documentation.
chaijs
The expect
and assert
functions from the chaijs assertion library are available
as psuedo-global variables.
expect(1 + 1).to.equal(2);
assert.equal(1 + 1, 2);
See http://chaijs.com/ for full documentation.
Modules
test-studio provides simple mechanisms for forcing the refresh of modules or providing stubs in place of required modules.
require.refresh('module');
require.refreshAll();
require.stub('module', { /* substitute */ });
Options
--help, -h, -? Show command line usage options
--run, -r Run tests in command line mode
--interface, -i Mocha test API to use ("bdd", "tdd", "exports", etc.)
[default: "tdd"]
--testPath, -p Path to test files
--sourcePath, -s Path to watch for file changes
--filter, -f Regular expression files must match to be included
[string] [default: "\.tests\.js$"]
--debugPort Port to use for debugging [default: "5859"]
--inspectorPort Port to expose node-inspector on (if installed)
[default: "8081"]
--reporter Mocha test reporter to use when running in command line mode
[default: "dot"]
--mocha, -m Use mocha defaults, i.e. tests from tests/*.js and bdd
interface
--system Run system tests
Issues / Feedback / Contribute
To log a bug, please open a new issue at https://github.com/danderson00/Tribe/issues.
For general feedback or if you're interested in contributing, please drop me a tweet at https://twitter.com/danderson00.
Source
test-studio is built on the tribe platform and is embedded in the server product.
Source for the client side implementation of test-studio is here, the core server side code is here,
License
test-studio is licensed under the MIT License.