Kódím.cz
13

Logování a testování

Log je v podstatě deník aplikace, kam si zaznamenává informace o své činnosti. Testování pomáhá odhalit chyby v kódu.

1
Testy pro knihu

V jednom z předchozích cvičení jsi vytvořil třídu Book, která reprezentuje knihu. Třída má atributy title, pages a price a metody get_info() a get_time_to_read().

class Book:
    def __init__(self, title, pages, price):
        self.title = title
        self.pages = pages
        self.price = price

    def get_info(self):
        return f"Kniha {self.title}{self.pages} stran a stojí {self.price} Kč."

    def get_time_to_read(self, page_minutes=4):
        return self.pages * page_minutes

Napiš unit testy pro tuto třídu. Vytvoř testovací třídu TestGetTimeToRead a v ní následující testy:

  • test_default_speed - ověří, že pro knihu s 200 stránkami metoda vrátí 800 minut (při výchozí rychlosti 4 minuty na stránku).
  • test_custom_speed - ověří, že pro knihu s 200 stránkami a rychlostí 2 minuty na stránku metoda vrátí 400 minut.

Dále vytvoř testovací třídu TestGetInfo a v ní následující testy:

  • test_contains_title - ověří, že výstup metody get_info() obsahuje název knihy.
  • test_contains_price - ověří, že výstup metody get_info() obsahuje cenu knihy.

Řešení