mocha-steps
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

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.

/mocha-steps/

    Package Sidebar

    Install

    npm i mocha-steps

    Weekly Downloads

    27,272

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    4.84 kB

    Total Files

    5

    Last publish

    Collaborators

    • asyncadventures