0.1.0 • Published 9 years ago
tommy-the-runner v0.1.0
spec-runner 
Evaluate string with code against provided test suite.
Installation
npm install tommy-the-runner --save
Api
tommy.run(code, specs, runnerOptions)
Execute tests. Returns Promise resolved with reporter or rejected with eval error
code is a String with javascript code to evaluate
specs is a String with mocha test suite written using bdd interface.
runnerOptions is an Object of options for the runner. Available options:
extraModulesis an Object with custom modules requirable in the spec code. The key is module name and the value is an object returned by the require call to that modules
Module exported in code is available under require('subject') in specs code
tommy.compile(code)
Compile CommonJS module. Returns value of module.exports
code is a String with javascript code to evaluate
Example
const tommy = require('tommy-the-runner')
const code = `
function sum(a, b) {
return a + b
}
module.exports = sum
`
const specs = `
const expect = require('chai').expect
const sum = require('subject')
describe('sum', function () {
it('should sum two numbers', function () {
expect(sum(1, 1)).to.equal(2)
})
})
`
tommy.run(code, specs)
.then(reporter => {
console.log(reporter.stats)
})
.catch(err => {
console.log('Execution error', err)
})result:
{ suites: 2,
tests: 1,
passes: 1,
pending: 0,
failures: 0,
start: 'Tue Apr 05 2016 22:22:10 GMT+0200 (CEST)',
end: 'Tue Apr 05 2016 22:22:10 GMT+0200 (CEST)',
duration: 4 }