post-upgrade, unexpected assertion failures on error-handling function calls (includes repro)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript, react
Piste de recherche
Commencez par la reproduction CRA liée et examinez la séquence d’assertions render, findByText et mockLog présentée dans l’issue. Confirmez le comportement temporel après la mise à niveau et documentez pourquoi attendre l’erreur rendue n’établit pas que l’appel de logging basé sur un effect est terminé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
@testing-library/reactversion: 13.4.0- Testing Framework and version: [email protected]
- DOM Environment: [email protected]
- node: 16.14.2
- react: 18.2.0
Relevant code or config:
render(<App />);
await screen.findByText('Failed!');
//assertion fails unless we `waitFor` it
expect(mockLog).toHaveBeenCalledWith('kaboom!')
What you did:
Upgraded existing application to react 18+ and RTL 13+.
What happened:
A number of tests starting failing assertions after upgrading.
In this case, the component is rendered with a simulated fetch failure. The component renders a child component that is responsible for error presentation and minor logging (in an effect hook). The test assertion on the logging function call fails unless it is awaited.
Reproduction:
I was able to reproduce the issue with a simple CRA repo, here: https://github.com/trv-wcaneira/fetch-err-waitfor-mcve
Problem description:
Pre-upgrade, it was sufficient to await the error message text rendered by the child component. Now it seems additional waiting is needed, and before I plaster waitFors all over our tests 😄, I'd just like to understand why.
Suggested solution:
I could obviously change all the tests to waitFor the logging function call, but would like to understand the change in behavior.
- Langage dominant
- JavaScript
- Étoiles
- 19.7k
- Forks
- 1.2k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de testing-library/react-testing-library
-
fireEvent.select does not wrap its automatic native focus in actPeut-être pris @sergioperezcheco l’a pris il y a 9 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
bug: calling configure() without reactStrictMode resets it to undefined, silently disabling strict modePeut-être à nouveau libre @suhailopensource l’a pris il y a 80 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
testing-library/react-testing-library#1466 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
testing-library/react-testing-library#1459 · 2 commentaires ·
-
perf: optimize container lookup with early exitPeut-être à nouveau libre @Ch-Abhinav-Chowdary l’a pris il y a 306 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 35/100
testing-library/react-testing-library#1430 · 1 commentaire ·
-
`fireEvent.mouseEnter` does not forward `relatedTarget` (relatedTarget is the window instead)Peut-être pris @swarnim02 l’a pris il y a 323 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
Toutes les issues de testing-library/react-testing-library
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
apache/rocketmq-dashboard#6896 ·
Les mainteneurs répondent en général sous 3 jours
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
[workshop-sync] workshop/side-quest-17-06-output-injection.md: stale add_comment.cjs line referencesOuvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
githubnext/gh-aw-workshop#4679 ·
Les mainteneurs répondent en général sous 1 jour
-
bug engine
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
frostney/GocciaScript#1746 ·
Les mainteneurs répondent en général sous 1 jour
-
Add: AVA MediaOuvertechannels:add check:failed
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100