• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Testy Jednostkowe - Czy testowanie połączeń do bazy danych jest konieczne jesli tak to jak to robić?

Object Storage Arubacloud
0 głosów
1,077 wizyt
pytanie zadane 21 kwietnia 2018 w PHP przez pp2k22 Nowicjusz (170 p.)

Witam napisałem funkcje addNews która dodaje wczesniej przygodowane dane do bazy danych. Pierwszy raz chciał bym dodać do projektu testy jednostkowe i tu moje pytanie czy testowanie takiej funkcji jest konieczne i w ogole mozliwe

    public function addNews($title, $description, $article, $imgPath)
    {
        try {
            $statement = $this->pdo->prepare("INSERT INTO $this->dbTableName VALUES(NULL,:title,:description,:article,:imgPath)");
            $statement->bindParam(":title", $title, PDO::PARAM_STR);
            $statement->bindParam(":description", $description, PDO::PARAM_STR);
            $statement->bindParam(":article", $article, PDO::PARAM_STR);
            $statement->bindParam(":imgPath", $imgPath, PDO::PARAM_STR);
            $statement->execute();
        } catch (Exeption $e) {}
    }

 

 

2 odpowiedzi

+2 głosów
odpowiedź 21 kwietnia 2018 przez marcin99b Szeryf (82,080 p.)
Co do testowania
Poczytaj o mockowaniu i interfejsach
Sprawdzaj czy dana metoda się uruchamia i co przyjmuje na wejściu, a nie czy rzeczywiście dane zapisują się w bazie
No chyba że testy end to end w osobnej bazie danych, gdzie symulujesz zachowania użytkownika już w aplikacji
+2 głosów
odpowiedź 21 kwietnia 2018 przez rafal.budzis Szeryf (85,260 p.)
Jednostkowo możesz sprawdzić np czy wykonała się funkcja execute jeden raz ;) Możesz też mockowac (tworzyć połączenie na lipe które np zawsze zwraca prawidłowe dane) całe połączenie z bazą danych w testach i zaprogramować co taka baza powinna zwrócić.

Natomiast samo połączenie i testowanie czy dodało sie do bazy danych to juz test integracyjny który sprawdza cały system a nie jednostkę.

Dzięki takiemu podejściu jeśli testy jednostkowe przejdą będziesz miał 100 % pewności ze twój kod działa a jedynym problemem może być awaria bazy danych. Kolejnym plusem jest szybkość wykonywania testów jednostkowych jest to najważniejszy aspekt tych testów.

Podobne pytania

0 głosów
0 odpowiedzi 374 wizyt
pytanie zadane 13 sierpnia 2021 w PHP przez CSSoup Mądrala (6,460 p.)
0 głosów
0 odpowiedzi 298 wizyt
0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 19 maja 2020 w PHP przez michal_php Stary wyjadacz (13,700 p.)

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...