Karma: Using browserDisconnectTolerance invalidates test suite

Created on 16 Jul 2018  路  4Comments  路  Source: karma-runner/karma

Expected behaviour

When a test fails, karma says that the test failed.

Actual behaviour

When a test fails and chrome disconnects then reconnects (which is allowed if the browserDisconnectTolerance is set to something greater than 0), karma will only report the results of the tests that have run since reconnecting, ignoring any test failures from before chrome disconnected.

Environment Details

  • Karma version (output of karma --version): 1.7.1
  • Relevant part of your karma.config.js file:
    browserDisconnectTolerance: 1

Steps to reproduce the behaviour

  1. Set browserDisconnectTolerance to anything greater than 0.
  2. Run a test that fails before the browser disconnects, then after reconnecting run a test that passes
  3. _Expected_: The build should fail and karma should report the test failure from before the disconnection
    _Actual_: The build passes because karma only reports the results of tests run since the reconnection

Most helpful comment

Same here.
Doesn't this issue make browserDisconnectTolerance completely useless?

All 4 comments

What is the easiest way to reproduce browser disconnection ?

You can try setting the option introduced in #3102 to 1ms. Otherwise I guess you have to create a special test client.html that drops the connection.

Have the same problem here.
Karma doesn't report any tests that were run before the timeout.

Same here.
Doesn't this issue make browserDisconnectTolerance completely useless?

Was this page helpful?
0 / 5 - 0 ratings