jandoubek / pvs-2020-lectures

Project for PVS lecture in fall 2020
0 stars 0 forks source link

Komponenty k vývoji a testování #20

Closed SachCZ closed 3 years ago

SachCZ commented 3 years ago

Vytvořil jsem komponenty, které lze dále vyvíjet a zároveň jsem k nim připravil testy. Dobrovolnosti se meze nekladou, ale moje představa byla:

Co se testování tyče, tak jsem zvolil Jest, který je k react aplikaci přiřazen automaticky při tvorbě pomocí create-react-app. Při vývoji pak doporučuji kromě npm start otevřít nové okno a v něm pustit npm test. Toto pustí testy vždy, když dojde k relevantní změně kódu a v relatime ukáže výsledek.

Bohužel na testování v Reactu nejsem expert a je to pro mě vše nové. Principiálně je to ale podobné frameworkům, které možná znáte. Nějaký návod na testování v Reactu je zde.

pakk-minidose commented 3 years ago

Je v pořádku, že všechny ty testy prošly, i když to ještě není naimplementované? obrazek

Já si původně myslel, že ten test nebude fungovat, dokud nebude fungovat ta komponenta. Co vlastně ten test zkouší?

SachCZ commented 3 years ago

Super, že ti to běží.

Skvělá otázka! Teď je to udělané tak, že jsem tam dal test toho, že se renderuje ten text co jsem tam napsal místo komponenty. V tvém případě "Zde bude slider". Toto je docíleno pomocí

render(<CreditsSlider />);
const linkElement = screen.getByText(/Zde bude slider/i);
expect(linkElement).toBeVisible();

Tj. něco ve smyslu, vyrendruj component a očekávej, že bude vidět text "Zde bude slider". Notace /bla bla/i znamená case insensitive regual expression. Tj. stačí mi, že case insensitive substring je ""Zde bude slider"".

Neboj se file CreditsSlider.test.js upravit jak potřebuješ.

Tohle je samozřejmě test k ničemu, ale je to dobrá kostra, kterou můžeš upravit s pomocí dokumentace Jest, případně testování v Reactu je zde.

SachCZ commented 3 years ago

Zdá se, že všichni zaintersovaní vědí co potřebují - zavírám.