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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow getByRole leads to test timeouts #1213

Open
adrian-goe opened this issue May 22, 2023 · 1 comment
Open

Slow getByRole leads to test timeouts #1213

adrian-goe opened this issue May 22, 2023 · 1 comment

Comments

@adrian-goe
Copy link

  • @testing-library/react version: 13.4.0
  • Testing Framework and version: "@nrwl/jest": "14.8.6"
  • DOM Environment: "@testing-library/jest-dom": "5.16.5"

Relevant code or config:

instance.getByRole('button', {
  name: 'tests.actions.add', hidden: true
  })
).toBeEnabled();

What you did:

I create rederresult with act<RenderResult> and try to find some elements on the screen.

This, with other buttons, is called like 6 times in this one test

What happened:

We migrate our code from andt4 to antd5. As we did this we noticed a lot of our test time out. They time out, because getByRole() takes a lot of time. Sure, Antd is part of the problem, but the rendered result is a rendered result and that should work. The Test, I send in the reproduction part, is just rendering, with some fetchMocks, so no UI changes after the setup.

Reproduction:

I tried to create a good reproduction, but with all our setup code, its complex. So I created a playground with the actual screen render.

https://testing-playground.com/gist/dcc46780eeacb3579d7b790f7fb4e577/c9e236ee04cfd77a19d8bb773e295010ed319ddb

Problem description:

getByRole() takes a lot of time in this jest test. I used the profiler to get a feeling, on how long.

Profiler

As you can see, for one getByRole() it takes around 1.6second. This adds up and leads to tests, that time out.

Suggested solution:

make getByRole fast 😅 I read a lot in the past weeks and someone said, this is slow (coudn't find the Issue again, sorry). I guess this could be improved.

cc @MLB00N

@eps1lon
Copy link
Member

eps1lon commented May 22, 2023

Duplicate of testing-library/dom-testing-library#820.
Keeping open for visibility.

@testing-library testing-library locked and limited conversation to collaborators May 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants