• 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ć?

0 głosów
1,505 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 (86,380 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 (86,440 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 590 wizyt
pytanie zadane 13 sierpnia 2021 w PHP przez CSSoup Mądrala (6,460 p.)
0 głosów
0 odpowiedzi 536 wizyt
0 głosów
1 odpowiedź 954 wizyt
pytanie zadane 19 maja 2020 w PHP przez michal_php Stary wyjadacz (13,700 p.)

93,741 zapytań

142,677 odpowiedzi

323,296 komentarzy

63,326 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...