Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Show progress of tests as they run #14836

Open
Dreamsorcerer opened this issue Jan 7, 2024 · 14 comments 路 May be fixed by #14841
Open

[Feature]: Show progress of tests as they run #14836

Dreamsorcerer opened this issue Jan 7, 2024 · 14 comments 路 May be fixed by #14841

Comments

@Dreamsorcerer
Copy link

Dreamsorcerer commented Jan 7, 2024

馃殌 Feature Proposal

Even with verbose enabled, Jest doesn't give any indication of progress through tests within a file while they are being run.

Motivation

If it's taking a long time for tests to complete, I have no indication how far through the tests it is, whether it's hanging on a particular test or just slowly progressing through tests.

Example

For comparison, pytest (the most popular test runner on Python projects) displays the result of each test as it runs, looking something like:

tests/test_admin.py::test_path PASSED                                    [  1%]
tests/test_admin.py::test_js_module PASSED                               [  2%]
tests/test_admin.py::test_no_js_module PASSED                            [  3%]
@WillianAgostini
Copy link
Contributor

Hi @Dreamsorcerer
What do you think about adding the percentage at the end of the test suite?
See the example below

image

@Dreamsorcerer
Copy link
Author

Anything that shows some progress while it's running would be an improvement. Displaying the results of each test as they complete though, can be more helpful, as you can figure out what test the runner is stuck on (particularly useful in weird edge cases where the runner itself ends up hanging and never completing).

@WillianAgostini
Copy link
Contributor

I see that it is better to add it at the end of the Test suite, as placing it next to each test can get confusing when several tests occur in parallel and so this percentage shows the percentage of all tests

@WillianAgostini WillianAgostini linked a pull request Jan 9, 2024 that will close this issue
@SimenB
Copy link
Member

SimenB commented Jan 9, 2024

I think the request was for progress within a single test file, not the total (which we already have, albeit not as a percentage).

So I think it should be next to a RUNS (and nothing for completed ones) rather than in the summary. Probably behind some sort of option? This feels more line a continuation of #6616 with more precise data rather than doing math on the data we already display

@Dreamsorcerer
Copy link
Author

Dreamsorcerer commented Jan 10, 2024

I misunderstood the original question. The percentage is really not important, you can do whatever you want to do with it (pytest does show the global percentage after each test, but is also, most often, run in a synchronous manner). The main point is that I should be able to see some output after each test, and can figure out which test the runner is stuck on if it were to freeze/crash.

@WillianAgostini
Copy link
Contributor

WillianAgostini commented Jan 12, 2024

What if we were to add the 'X passed' field next to the path description indicating how many test were completed?
Is this approach useful @Dreamsorcerer @SimenB?
image

@SimenB
Copy link
Member

SimenB commented Jan 12, 2024

Yeah, that looks good to me! Maybe out of a total per test file as well? I think we have this information available

@Dreamsorcerer
Copy link
Author

If you mean that the number is updated as each test passes (as opposed to a total shown at the end of the file run), then that's probably good enough.

@WillianAgostini
Copy link
Contributor

@SimenB
Should we exclude the percentage at the conclusion of the test suite?

It would be beneficial to display a percentage out of the total for each test file too but I couldn't locate any property that provides this value before or during the execution of the file.

@WillianAgostini
Copy link
Contributor

@SimenB @Dreamsorcerer
I found a way to display the total number of pending tests. To achieve this, I had to search within the Jasmine and JestAdapter classes. Below is the screenshot showing the outcome, and here is the commit for the changes in 230b11b.

image

Copy link

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

@github-actions github-actions bot added the Stale label Feb 17, 2024
@Dreamsorcerer
Copy link
Author

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

@github-actions github-actions bot removed the Stale label Feb 23, 2024
Copy link

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

@github-actions github-actions bot added the Stale label Mar 24, 2024
@WillianAgostini
Copy link
Contributor

Up

@github-actions github-actions bot removed the Stale label Mar 24, 2024
@SimenB SimenB added the Pinned label Mar 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants