Sie sind in der Lage, mit PyCharm Unit Tests auf der Basis von pytest
zu erstellen und auszuführen.
car.py
via PyCharm.brake
und klicken Sie <ctrl+shift+t> um einen Unit Test mit der Methode test_car_brake
dafür zu erstellen. car_test.py
unten.@pytest.fixture
Annotations verwendet werden. Lesen Sie den Abschnitt Use fixtures und bauen Sie den Unit Test entsprechend um.Geben Sie Ihr Protokoll als PDF-Datei in Moodle ab.
class Car: def __init__(self, speed=0): self.speed = speed self.odometer = 0 self.time = 0 def say_state(self): print("I'm going {} kph!".format(self.speed)) 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__ == '__main__': my_car = Car() print("I'm a car!") while True: action = input("What should I do? [A]ccelerate, [B]rake, " "show [O]dometer, or show average [S]peed?").upper() if action not in "ABOS" or len(action) != 1: print("I don't know how to do that") continue if action == 'A': my_car.accelerate() elif action == 'B': my_car.brake() elif action == 'O': print("The car has driven {} kilometers".format(my_car.odometer)) elif action == 'S': print("The car's average speed was {} kph".format(my_car.average_speed())) my_car.step() my_car.say_state()
from car import Car def test_car_brake(): testee = Car(50) testee.brake() assert testee.speed == 45