Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| modul:archiv:m320:learningunits:lu90:aufgaben:lu4-aufgabe_3 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | modul:archiv:m320:learningunits:lu90:aufgaben:lu4-aufgabe_3 [2026/08/30 14:06] (aktuell) – ↷ Seite von modul:m320:learningunits:lu90:aufgaben:lu4-aufgabe_3 nach modul:archiv:m320:learningunits:lu90:aufgaben:lu4-aufgabe_3 verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ==== Aufgabe 3 - Unit Tests erstellen in PyCharm ==== | ||
| + | === Ziel === | ||
| + | Sie sind in der Lage, mit PyCharm Unit Tests auf der Basis von '' | ||
| + | |||
| + | === Auftrag === | ||
| + | - Öffnen Sie die nachfolgende Datei '' | ||
| + | - Selektieren Sie die Methode '' | ||
| + | - Ergänzen Sie den Tests mit den drei Zeilen für Arrange, Act und Assert gemäss der Datei '' | ||
| + | - Führen Sie den Test aus. Orientieren Sie sich dafür am [[https:// | ||
| + | - Halten Sie schriftlich fest, unter welchen Umständen ein Unit Test für die Testausführung gefunden wird. Lesen Sie dazu den Abschnitt über [[https:// | ||
| + | - Es gibt bestimmte Dinge, wie z.B. das Erstellen des zu testenden Objekts, welche sich in jedem Test wiederholen. Um redundanten Code zu vermeiden, können '' | ||
| + | - Optional: Wie Sie einen Test parametrisieren, | ||
| + | | ||
| + | === Abgabe === | ||
| + | Geben Sie Ihr Protokoll als PDF-Datei in Moodle ab. | ||
| + | |||
| + | ---- | ||
| + | === Code === | ||
| + | <file python car.py> | ||
| + | class Car: | ||
| + | |||
| + | def __init__(self, | ||
| + | self.speed = speed | ||
| + | self.odometer = 0 | ||
| + | self.time = 0 | ||
| + | |||
| + | def say_state(self): | ||
| + | print(" | ||
| + | |||
| + | def accelerate(self): | ||
| + | self.speed += 5 | ||
| + | |||
| + | def brake(self): | ||
| + | if self.speed < 5: | ||
| + | self.speed = 0 | ||
| + | else: | ||
| + | self.speed -= 5 | ||
| + | |||
| + | def step(self): | ||
| + | self.odometer += self.speed | ||
| + | self.time += 1 | ||
| + | |||
| + | def average_speed(self): | ||
| + | if self.time != 0: | ||
| + | return self.odometer / self.time | ||
| + | else: | ||
| + | pass | ||
| + | |||
| + | |||
| + | if __name__ == ' | ||
| + | |||
| + | my_car = Car() | ||
| + | print(" | ||
| + | while True: | ||
| + | action = input(" | ||
| + | " | ||
| + | if action not in " | ||
| + | print(" | ||
| + | continue | ||
| + | if action == ' | ||
| + | my_car.accelerate() | ||
| + | elif action == ' | ||
| + | my_car.brake() | ||
| + | elif action == ' | ||
| + | print(" | ||
| + | elif action == ' | ||
| + | print(" | ||
| + | my_car.step() | ||
| + | my_car.say_state() | ||
| + | |||
| + | </ | ||
| + | |||
| + | <file python car_test.py> | ||
| + | from car import Car | ||
| + | |||
| + | |||
| + | def test_car_brake(): | ||
| + | testee = Car(50) | ||
| + | testee.brake() | ||
| + | assert testee.speed == 45 | ||
| + | |||
| + | </ | ||