Skip to content

after/afterEach blocks are not executed if both --bail and --exit args are passed #3398

@rainder

Description

@rainder

Prerequisites

  • Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
  • Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
  • 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
  • Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend avoiding the use of globally installed Mocha.

Description

Mocha does not execute after and afterEach blocks if both --exit and --bail arguments are passed.

Steps to Reproduce

// test.spec.js

describe('test', () => {
  afterEach(() => {
    console.log('hello world');
  });

  it('should log "hello world" to the console', () => {
    throw new Error();
  });
});

Run

$ node_modules/.bin/mocha test.spec.js --exit --bail

Expected behavior:

text "hello world" should be logged to the console

Actual behavior:

the text is not logged to the console

Reproduces how often:

100%

Versions

  • The output of mocha --version and node node_modules/.bin/mocha --version:
    mocha is not instaleld globally
    5.2.0 locally

  • The output of node --version:
    v9.11.1

  • The version and architecture of your operating system:
    macOS High Sierra 10.13.4

  • Your shell (bash, zsh, PowerShell, cmd, etc.):
    fish, version 2.4.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: usabilityconcerning user experience or interface

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions