jestjs / jest

Delightful JavaScript Testing.
https://jestjs.io
MIT License
44.19k stars 6.46k forks source link

Allow buffering console when running a single test #6441

Open jamietre opened 6 years ago

jamietre commented 6 years ago

🐛 Bug Report

Splitting this from this issue: https://github.com/facebook/jest/issues/4156#issuecomment-395848216

In scenarios involving running multiple tests, console output is buffered and can be intercepted by a test reporter. When only a single test runs, the output is never buffered. This behavior is mentioned here: https://github.com/facebook/jest/issues/2080

To Reproduce

Initiate a test run that matches only a single test.

Expected behavior

In a reporter, TestResult.console should be populated for all test run scenarios (at least optionally).

Run npx envinfo --preset jest

Paste the results here:

  System:
    OS: macOS High Sierra 10.13.5
    CPU: x64 Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz
  Binaries:
    Node: 8.9.4 - ~/.nvm/versions/node/v8.9.4/bin/node
    Yarn: 1.6.0 - /usr/local/bin/yarn
    npm: 5.6.0 - ~/.nvm/versions/node/v8.9.4/bin/npm
  npmPackages:
    @types/jest: 22.2.3 => 22.2.3
    jest: =23.1.0 => 23.1.0
kumar303 commented 6 years ago

I guess https://github.com/facebook/jest/issues/2080#issuecomment-260250062 is the reason for why output is never buffered for single test runs but I don't understand this part:

This is an escape hatch – if you have an infinite loop and we buffer console messages, none will show up at all.

Is Jest optimizing for when a developer accidentally introduces an infinite loop? Is it saying that running a single test provides the developer with an escape hatch? If so, that seems like a pretty uncommon use case.

SimenB commented 6 years ago

Should be doable. You can do --verbose to turn off buffering

pierrezimmermannbam commented 2 years ago

@SimenB any update on this ? I'd like to make my tests fail when there are some errors logged and using reporters is the only way I've found that allows me not to lose the stack trace in logged errors. Plus I think the errors being shown above test result are less visible and tend to be ignored. I'd be glad to help if this is something that is doable

SimenB commented 2 years ago

PR welcome!

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 1 year with no activity. Remove stale label or comment or this will be closed in 30 days.