Przetestuj błąd
fuel_needed() odrzuca teraz ujemną długość odpalenia błędem ValueError. Ta odmowa jest częścią tego, co funkcja obiecuje, tak samo jak arytmetyka, i tak jak arytmetyka może się po cichu zepsuć.
Napisz test, który będzie jej pilnował. Ukryte testy uruchamiają twoje sprawdzenia na zepsutych wersjach funkcji, żeby zobaczyć, czy to zauważą.
Ukończ etap 1, aby odblokować ten etap.
Napisz sprawdzenie, które przechodzi tylko wtedy, gdy fuel_needed(-5) zgłasza ValueError: wywołaj ją w try, ustaw zmienną na True w except ValueError: i sprawdź ją potem przez assert. Potem wypisz:
Wszystkie sprawdzenia przeszły
Zostaw funkcję bez zmian. Ukryte testy zamieniają ją na wersję, która w ogóle nie zgłasza błędu, i na taką, która zgłasza TypeError zamiast niego; twoje sprawdzenie musi nie przejść w obu przypadkach.
Ukończ etap 1, aby odblokować ten etap.
Funkcja, która odrzuca wszystko, przeszłaby na razie twój test. Dodaj sprawdzenia, że komunikat pokazuje wartość, "-5" in message, że odpalenie przez 0 s jest dozwolone i nie potrzebuje paliwa, i że 40 s potrzebuje 500.0 kg. Zostaw linię o powodzeniu na końcu.
Ukryte testy próbują teraz także wersji, która odrzuca 0, wersji z niejasnym komunikatem i wersji, która odrzuca każdą długość.
Podpowiedzi
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].