Make wrapper to render configuration available at the global level
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, react
Rechercherichtung
Beginne damit, die vorhandene configure(...)-API und die render(...)-Einstiegspunkte zu finden, und überprüfe anschließend die Tests, die render-Optionen und das Konfigurationsverhalten abdecken. Lege fest, wie ein global konfigurierter Wrapper mit einem Wrapper pro Aufruf kombiniert oder von diesem überschrieben wird, und füge Tests hinzu, die zeigen, dass der globale Wrapper angewendet wird, ohne die bestehende render-Nutzung zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the feature you'd like:
When rendering components for test, I often find myself repeating render(ui, { wrapper: TestApp() }) over and over again.
It would be nice to have a possibility to define the wrapper using a global configure(...) call.
By having this in global config, you could ensure that, by default, all the rendered components are tested in the context resembling the onion structure of various wrappers and context providers that they are going to be embedded in in production code anyway. This would help capture bugs when this context layer has an adverse effect on the behaviour of the component under test.
Describe alternatives you've considered:
You could of course define a custom function that does the same for you by wrapping the call to render. However, without the hindsight of defining one upfront, if you've already used the barebones render in hundreds of tests before the need for a wrapper, you need to now refactor all of those tests :(
Teachability, Documentation, Adoption, Migration Strategy:
No migration needed as this would be backwards-compatible in terms of the configure API.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 19.7k
- Forks
- 1.2k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus testing-library/react-testing-library
-
fireEvent.select does not wrap its automatic native focus in actEvtl. vergeben @sergioperezcheco hat das vor 10 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
bug: calling configure() without reactStrictMode resets it to undefined, silently disabling strict modeEvtl. wieder frei @suhailopensource hat das vor 80 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
testing-library/react-testing-library#1466 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
testing-library/react-testing-library#1459 · 2 Kommentare ·
-
perf: optimize container lookup with early exitEvtl. wieder frei @Ch-Abhinav-Chowdary hat das vor 306 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 35/100
testing-library/react-testing-library#1430 · 1 Kommentar ·
-
`fireEvent.mouseEnter` does not forward `relatedTarget` (relatedTarget is the window instead)Evtl. vergeben @swarnim02 hat das vor 324 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
Alle Issues in testing-library/react-testing-library
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
bigskysoftware/htmx#4147 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
vshymanskyy/StandWithUkraine#316 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
bug/1-unconfirmed kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag