Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.04 KB

README.md

File metadata and controls

44 lines (33 loc) · 1.04 KB

qcumber

Add Q promises goodness to cucumberjs steps.

Usage

In a step definition file, before defining and Given, When, or Then steps, pass the step object to qcumber.

module.exports = function(){
	require('qcumber')(this);

	this.Given(/a synchronous condition/, function(){
		return true;
	});
}

Now, any step definitions will promise to behave. Any step that throws an exception will be marked as a failure. Any step that returns normally will count as a success. Any step that returns a promise-like will behave asynchronously, counting as a success if the promise resolves, or a failure if the promise rejects.

module.exports = function(){
	require('qcumber')(this);

	this.Given(/a synchronous condition/, function(){
		return true;
	});

	this.When(/an asynchronous action/, function(){
		return HTTP.Request.get_with_promise('http://localhost');
	});

	this.Then(/a failure condition/, function(){
		throw new Error('A failure occured in this step.');
	});
}