Znajdź i popraw błędy w programie przy użyciu debuggera gdb/lldb. Po poprawkach wszystkie testy powinny przechodzić.
- +10 XP za poprawienie błędów w programie
- Napisz własne klasy PizzaDummy i PizzaStub. Porównaj je z implementacjami w pliku test/mocks/PizzaMock.hpp
- Popraw interfejs Pizza, aby nie posiadał on swojego konstruktora. Napisz odpowiednie konstruktory w klasach dziedziczących (jeśli są potrzebne). Popraw też atrapy testowe.
- Popraw klasę PizzaMock, aby była napisana z użyciem nowszej wersji GMocka.
- Usuń zależność od czasu w testach za pomocą dummy lub stuba.
- (10 XP) Napisz klasę TimeMock, którą zastąpisz dummy/stuba napisanego podczas zajęć. Używaj go poprzez StrictMock. Dodaj właściwe
EXPECT_CALL
w kodzie testów. - (15 XP) Dopisz nowy przypadek testowy, w którym powielasz działanie funkcji main.cpp, ale zamawiasz 3 pizze:
StubPizza
oraz 2 różneMockPizza
(różne nazwy, ceny i czas pieczenia; jedna jako StrictMock, druga jako NiceMock). Ustaw właściweEXPECT_CALL
. - (5 XP) Utwórz własny plik .github/workflows/module3.yml, który spowoduje, że GitHub automatycznie uruchomi testy. Zobacz, jak to jest zrealizowane w innych repozytoriach Coders School na GH
Możecie pracować w parach 🙂