|
1 | 1 | ---
|
2 | 2 | id: testing
|
3 |
| -title: Testing Overview |
| 3 | +title: Ogólne informacje |
4 | 4 | permalink: docs/testing.html
|
5 | 5 | redirect_from:
|
6 | 6 | - "community/testing.html"
|
7 | 7 | next: testing-recipes.html
|
8 | 8 | ---
|
9 | 9 |
|
10 |
| -You can test React components similar to testing other JavaScript code. |
| 10 | +Komponenty reactowe można testować podobnie jak pozostały kod javascriptowy. |
11 | 11 |
|
12 |
| -There are a few ways to test React components. Broadly, they divide into two categories: |
| 12 | +Istnieje kilka sposobów na przetestowanie komponentów reactowych. W dużym uproszczeniu, dzielą się one na dwie kategorie: |
13 | 13 |
|
14 |
| -* **Rendering component trees** in a simplified test environment and asserting on their output. |
15 |
| -* **Running a complete app** in a realistic browser environment (also known as “end-to-end” tests). |
| 14 | +* **Renderowanie drzew komponentów** w uproszczonym środowisku testowym oraz sprawdzanie wyniku renderowania. |
| 15 | +* **Uruchamianie pełnej aplikacji** w realistycznym środowisku przeglądarkowym (znane również jako testy "end-to-end"). |
16 | 16 |
|
17 |
| -This documentation section focuses on testing strategies for the first case. While full end-to-end tests can be very useful to prevent regressions to important workflows, such tests are not concerned with React components in particular, and are out of scope of this section. |
| 17 | +Ten rozdział dokumentacji skupia się na strategiach testowania w pierwszy sposób. Mimo iż pełne testy "end-to-end" często zapobiegają regresji w kluczowych ścieżkach aplikacji, nie przywiązują one zbyt dużej uwagi do komponentów reactowych. Z tego powodu pominęliśmy je w tej sekcji. |
18 | 18 |
|
19 |
| -### Tradeoffs {#tradeoffs} |
| 19 | +### Kompromisy {#tradeoffs} |
20 | 20 |
|
| 21 | +Podczas wybierania narzędzia testującego warto zastanowić się na kilkoma decyzjami: |
21 | 22 |
|
22 |
| -When choosing testing tools, it is worth considering a few tradeoffs: |
| 23 | +* **Szybkość iteracji czy realistyczne środowisko:** Niektóre narzędzia oferują szybkie sprzężenie zwrotne pomiędzy wprowadzeniem zmiany a otrzymaniem wyniku, lecz nie odwzorowują dokładnie zachowania przeglądarki. Inne z kolei używają realistycznego środowiska przeglądarkowego, lecz zmniejszają szybkość iteracji i działają topornie na serwerach CI (ang. *Continuous Integration*). |
| 24 | +* **Ile powinniśmy zamockować:** W przypadku komponentów, granica pomiędzy testami "jednostkowymi" a "integracyjnymi" może się zacierać. Kiedy testujesz formularz, czy testy powinny także sprawdzić działanie znajdujących się w nim przycisków? Czy może przycisk powinien mieć dedykowany zestaw testowy? Czy zmiany w kodzie przycisku powinny wpływać na testy formularza? |
23 | 25 |
|
24 |
| -* **Iteration speed vs Realistic environment:** Some tools offer a very quick feedback loop between making a change and seeing the result, but don't model the browser behavior precisely. Other tools might use a real browser environment, but reduce the iteration speed and are flakier on a continuous integration server. |
25 |
| -* **How much to mock:** With components, the distinction between a "unit" and "integration" test can be blurry. If you're testing a form, should its test also test the buttons inside of it? Or should a button component have its own test suite? Should refactoring a button ever break the form test? |
| 26 | +Do każdego zespołu i każdego produktu pasują inne odpowiedzi na powyższe pytania. |
26 | 27 |
|
27 |
| -Different answers may work for different teams and products. |
| 28 | +### Zalecane narzędzia {#tools} |
28 | 29 |
|
29 |
| -### Recommended Tools {#tools} |
| 30 | +**[Jest](https://facebook.github.io/jest/)** to javascriptowy "test runner" (pol. *narzędzie uruchamiające testy*), które pozwala uzyskać dostęp do DOM dzięki paczce [`jsdom`](/docs/testing-environments.html#mocking-a-rendering-surface). Mimo iż `jsdom` tylko w przybliżeniu działa jak prawdziwa przeglądarka, zwykle wystarcza do przetestowania komponentów reactowych. Biblioteka Jest gwarantuje szybką iterowalność połączoną z praktycznymi funkcjonalnościami, jak mockowanie [modułów](/docs/testing-environments.html#mocking-modules) czy [timerów](/docs/testing-environments.html#mocking-timers). Dzięki temu masz większą kontrolę nad tym, jak wykonywany jest twój kod. |
30 | 31 |
|
31 |
| -**[Jest](https://facebook.github.io/jest/)** is a JavaScript test runner that lets you access the DOM via [`jsdom`](/docs/testing-environments.html#mocking-a-rendering-surface). While jsdom is only an approximation of how the browser works, it is often good enough for testing React components. Jest provides a great iteration speed combined with powerful features like mocking [modules](/docs/testing-environments.html#mocking-modules) and [timers](/docs/testing-environments.html#mocking-timers) so you can have more control over how the code executes. |
| 32 | +**[React Testing Library](https://testing-library.com/react)** jest zestawem funkcji pomocniczych, które pozwalają nad testowanie komponentów reactowych bez polegania na ich szczegółach implementacyjnych (ang. *implementation details*). Takie podejście sprawia, że refactoring kodu staje się niezwykle prosty, a także "popycha" cię w kierunku dobrych praktyk dotyczących dostępności (ang. *accessibility*). Mimo iż ta biblioteka nie umożliwia "płytkiego" renderowania (ang. *shallow rendering*) komponentów bez ich potomków, doskonale sprawdza się w połączeniu z Jestem i jego funkcjonalnością [mockowania modułów](/docs/testing-recipes.html#mocking-modules). |
32 | 33 |
|
33 |
| -**[React Testing Library](https://testing-library.com/react)** is a set of helpers that let you test React components without relying on their implementation details. This approach makes refactoring a breeze and also nudges you towards best practices for accessibility. Although it doesn't provide a way to "shallowly" render a component without its children, a test runner like Jest lets you do this by [mocking](/docs/testing-recipes.html#mocking-modules). |
| 34 | +### Dowiedz się więcej {#learn-more} |
34 | 35 |
|
35 |
| -### Learn More {#learn-more} |
| 36 | +Ten rozdział został podzielony na dwie części: |
36 | 37 |
|
37 |
| -This section is divided in two pages: |
38 |
| - |
39 |
| -- [Recipes](/docs/testing-recipes.html): Common patterns when writing tests for React components. |
40 |
| -- [Environments](/docs/testing-environments.html): What to consider when setting up a testing environment for React components. |
| 38 | +- [Przykłady i dobre praktyki](/docs/testing-recipes.html): Wzorce często spotykane przy testowaniu komponentów reactowych. |
| 39 | +- [Środowiska](/docs/testing-environments.html): Na co należy zwrócić uwagę podczas zestawiania środowiska testującego dla komponentów reactowych. |
0 commit comments