Testaus
Vinkkejä helpommin ylläpidettävien testien toteuttamiseen KDS-komponentteja käytettäessä.
Vinkkejä helpommin ylläpidettävien testien toteuttamiseen KDS-komponentteja käytettäessä.
Ylläpidettävien testien tekemiseen kannattaa suosia käytäntöjä, jotka eivät ota kantaa tarkkaan tekniseen toteutukseen, vaan jäljittelevät sitä miten asiakas palvelua käyttää.
testId-propin kautta data-testid-attribuutin.Esimerkki testistä, joka testaa dialogia loppukäyttäjän näkökulmasta, eikä ole sidottu dialogin tekniseen toteutukseen:
it("should open the logout confirmation modal", async () => {render(<LogoutModal />);expect(screen.queryByRole("dialog")).not.toBeInTheDocument();await user.click(screen.getByText("Kirjaudu ulos"));expect(await screen.findByRole("dialog")).toBeInTheDocument();expect(within(screen.getByRole("dialog")).getByRole("button", { name: "Kirjaudu ulos" })).toHaveFocus();await user.click(within(screen.getByRole("dialog")).getByRole("button", { name: "Kirjaudu ulos" }));await waitFor(() => {expect(screen.queryByRole("dialog")).not.toBeInTheDocument();});});
id-attribuutit muodostetaan useId(Avautuu uuteen välilehteen)-hookilla, joten ne saattavat vaihtua.