Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Mocking delle Dipendenze Interne | Testing with unittest and pytest
Programmazione Strutturale in Python
Sezione 5. Capitolo 5
single

single

Sfida: Mocking delle Dipendenze Interne

Scorri per mostrare il menu

Stai per affrontare una sfida magica: come apprendista mago, devi assicurarti che lo script di lancio degli incantesimi della tua Bacchetta Magica si comporti correttamente, anche quando le forze imprevedibili del mana sono in gioco. La bacchetta si affida a una funzione chiamata get_mana_level() per percepire l'energia magica ambientale. Se il mana è sufficientemente alto, il tuo incantesimo di fuoco si sprigiona; in caso contrario, si dissolve in una deludente nuvoletta. Per testare il tuo incantesimo in modo affidabile, devi mockare il livello di mana, simulando sia un'energia magica alta che bassa.

Compito

Scorri per iniziare a programmare

La tua missione è creare un sistema di lancio incantesimi robusto e testarlo utilizzando i mock.

  • Creare una funzione get_mana_level() che restituisce un intero casuale da 0 a 100.
  • Creare una funzione cast_spell() che:
    • Chiama get_mana_level().
    • Se il livello di mana è 50 o superiore, restituisce "Fireball cast successfully!".
    • Altrimenti, restituisce "The spell fizzled...".
  • Scrivere due test utilizzando unittest:
    • Usare patch per far sì che get_mana_level() restituisca 80 e verificare che cast_spell() restituisca il messaggio di successo.
    • Usare patch per far sì che get_mana_level() restituisca 20 e verificare che cast_spell() restituisca il messaggio di fallimento.

Suggerimenti:

  • Utilizzare random.randint nella funzione get_mana_level().
  • Per eseguire correttamente la patch, puntare a 'get_mana_level' nei test.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 5
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt