Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Challenge: Mocking Internal Dependencies | Testing with unittest and pytest
Python Structural Programming
Sectie 5. Hoofdstuk 5
single

single

Challenge: Mocking Internal Dependencies

Veeg om het menu te tonen

You are about to face a magical challenge: as an apprentice wizard, you need to ensure your Magic Wand’s spell-casting script behaves correctly, even when the unpredictable forces of mana are at play. The wand relies on a function called get_mana_level() to sense the ambient magical energy. If the mana is high enough, your fiery spell bursts forth; if not, it fizzles into a disappointing puff. To test your spell reliably, you must mock the mana level, simulating both high and low magical energy.

Taak

Veeg om te beginnen met coderen

Your mission is to create a robust spell-casting system and test it using mocks.

  • Create a function get_mana_level() that returns a random integer from 0 to 100.
  • Create a function cast_spell() that:
    • Calls get_mana_level().
    • If the mana level is 50 or more, returns "Fireball cast successfully!".
    • Otherwise, returns "The spell fizzled...".
  • Write two tests using unittest:
    • Use patch to make get_mana_level() return 80, and check that cast_spell() returns the success message.
    • Use patch to make get_mana_level() return 20, and check that cast_spell() returns the fizzle message.

Hints:

  • Use random.randint in your get_mana_level() function.
  • To patch correctly, target 'get_mana_level' in your tests.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 5
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt