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.
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...".
- Chiama
- Scrivere due test utilizzando
unittest:- Usare
patchper far sì cheget_mana_level()restituisca 80 e verificare checast_spell()restituisca il messaggio di successo. - Usare
patchper far sì cheget_mana_level()restituisca 20 e verificare checast_spell()restituisca il messaggio di fallimento.
- Usare
Suggerimenti:
- Utilizzare
random.randintnella funzioneget_mana_level(). - Per eseguire correttamente la patch, puntare a
'get_mana_level'nei test.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione