Skip to content

rprieto/mocha-steps

Folders and files

NameName
Last commit message
Last commit date
Jul 12, 2019
Jul 12, 2019
May 21, 2014
Jul 11, 2016
Jul 11, 2016
Jul 11, 2016
Jan 5, 2019
Jan 5, 2019
Jan 3, 2019
Jan 3, 2019

Repository files navigation

mocha-steps

Sequential scenarios for Mocha

NPM License

Build Status

Dependencies Dev dependencies

Global step() function, as a drop-in replacement for it(). Any failing step will abort the parent describe immediately. This is handy for BDD-like scenarios, or smoke tests that need to run through specific steps.

Setup

npm install mocha-steps --save-dev

Then simply run mocha with --require mocha-steps.

Example

describe('my smoke test', function() {

  step('login', function() {
  });

  step('buy an item', function() {
    throw new Error('failed');
  });

  step('check my balance', function() {
  });

  xstep('temporarily ignored', function() {
  });

});
  • With the standard it()
my smoke test
   ✓ login
   ✗ buy an item
   ✓ check my balance
   - temporarily ignored
  • Using step()
my smoke test
   ✓ login
   ✗ buy an item
   - check my balance
   - temporarily ignored

Notes

  • Unlike Mocha's --bail option, the rest of the test suite will run normally.
  • step() works with synchronous, async, event-based and promise tests.

When submitting a PR, please run ./test.sh and implement new test cases if required.