Skip to content

[web-test-runner] Allow web test runner to fail a test / suite when there are uncaught promise rejections #1730

Open
@skortchmark9

Description

@skortchmark9

We noticed that our test suite was passing, but unit tests were printing an error like this one:

build	18-Oct-2021 17:26:54	      An error was thrown in a Promise outside a test. Did you forget to await a function or assertion?
build	18-Oct-2021 17:26:54	      TypeError: Cannot read property 'getBoundingClientRect' of undefined

Upon further investigation, this revealed a real bug. We would like to consider these failures. Is there a good way to fail the tests based on uncaught promise resolutions at the test runner level?

I thought of a couple solutions:

  • pipe logs into grep
  • add an unhandled promise rejection listener to before before all test suites

But, I know there's already some mechanism for filtering logs and it seems like it might be possible to hook into it in a neat way.

I'm using mocha, if it makes a difference.

It seems like @LarsDenBakker wrote most of the logging stuff, so I'm curious to hear his opinion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions