mocha will not exit after all test executed in async mode.

Created on 14 Sep 2018  ·  3Comments  ·  Source: mochajs/mocha

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

Steps to Reproduce

Expected behavior: [What you expect to happen]

Actual behavior: [What actually happens]

Reproduces how often: [What percentage of the time does it reproduce?]

Versions

  • The output of mocha --version and node node_modules/.bin/mocha --version:
  • The output of node --version:
  • The version and architecture of your operating system:
  • Your shell (bash, zsh, PowerShell, cmd, etc.):
  • Your browser and version (if running browser tests):
  • Any other third party Mocha related modules (with versions):
  • The code transpiler being used:

Additional Information

invalid question

All 3 comments

describe('kafka', () => {
    it('send', done => {
        kafka.send(
            [
                {
                    topic: 'a2213d_kafka_test',
                    messages: [
                        '你好',
                        'Your are good!'
                    ]
                }
            ],
            (err, data) => {
                try {
                    should.not.exist(err);
                    should.exist(data);
                    console.log('kafka.test.js, kafka.send', data);
                    done();
                }
                catch (ex) {
                    done(ex);
                }
            }
        );
    });
});

this test itself will run successfully, but after that, the terminal will hold on, refusing to exit so that i can type another command.
but this will not happen in sync method tests.

@seelikes probably the Kafka connection is not closed, the issue is not reproducible when substituting kafka with any other async task (Promises or async/await).

@Bamieh

you are right, i checked my code and found that the producer which produce messages to kafka was never closed. amazing, thank you very much.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

CADBOT picture CADBOT  ·  3Comments

danielserrao picture danielserrao  ·  3Comments

robertherber picture robertherber  ·  3Comments

jamietre picture jamietre  ·  3Comments

niftylettuce picture niftylettuce  ·  3Comments