Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: Mocking av interne avhengigheter | Testing with unittest and pytest
Python Strukturert Programmering
Seksjon 5. Kapittel 5
single

single

Challenge: Mocking av interne avhengigheter

Sveip for å vise menyen

Du står overfor en magisk utfordring: som lærling-trollmann må du sikre at tryllestavens trylleformelskript oppfører seg riktig, selv når de uforutsigbare kreftene av mana er i spill. Staven er avhengig av en funksjon kalt get_mana_level() for å sanse den omgivende magiske energien. Hvis manaen er høy nok, utløses din flammende formel; hvis ikke, blir det bare en skuffende røykpuff. For å teste formelen din pålitelig, må du mocke mana-nivået, og simulere både høy og lav magisk energi.

Oppgave

Sveip for å begynne å kode

Ditt oppdrag er å lage et robust tryllesystem og teste det ved hjelp av mocks.

  • Lag en funksjon get_mana_level() som returnerer et tilfeldig heltall fra 0 til 100.
  • Lag en funksjon cast_spell() som:
    • Kaller get_mana_level().
    • Hvis mana-nivået er 50 eller høyere, returnerer "Fireball cast successfully!".
    • Ellers returnerer "The spell fizzled...".
  • Skriv to tester med unittest:
    • Bruk patch for å få get_mana_level() til å returnere 80, og sjekk at cast_spell() returnerer suksessmeldingen.
    • Bruk patch for å få get_mana_level() til å returnere 20, og sjekk at cast_spell() returnerer feilmeldingen.

Tips:

  • Bruk random.randint i funksjonen din get_mana_level().
  • For å patche riktig, mål 'get_mana_level' i testene dine.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 5
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt