This repository contains code which allows cucumber-js BDD framework to be wrapped around a testing tool by means of a custom driver.
npm install -g yo generator-wrap-bdd cucumber
All source is written using coffee script. In the command prompt of root directory use the following to quickly compile all coffee script source:
coffee --compile --output lib/ src/
To wrap cucumber-js BDD with any testing tool, a testtoolfactory.coffee is provided to return an appropriate instance of the test tool driver. When writing the test tool driver, the only two criteria are that the test driver expose a testResult method and test driver emit a testResult event. The testResult method accepts a callback function with a boolean parameter. The 'testResult' event should be emitted when the testing tool has finished and returned result. Following are sample blocks where you will need to make changes when introducing a new test driver:
createObject: (paramObj) -> switch process.env.oletesttool when 'TestComplete' new tc paramObj when 'TestExecute' new te paramObj else throw new TypeError 'Invalid/Unsupported Testing tool. Fix: set oletesttool=TestComplete'
module.exports = class tcdriver extends EventEmitter constructor: (paramObj,tool) -> # do something and maybe you want to emit the 'testResult' event here testresult: (cb)-> cb @result return
Still need to work on this.