single
Desafio: Mockando Dependências Internas
Deslize para mostrar o menu
Você está prestes a enfrentar um desafio mágico: como aprendiz de mago, é necessário garantir que o script de lançamento de feitiços da sua Varinha Mágica funcione corretamente, mesmo quando as forças imprevisíveis da mana estão em ação. A varinha depende de uma função chamada get_mana_level() para detectar a energia mágica ambiente. Se a mana estiver suficientemente alta, seu feitiço de fogo será lançado; caso contrário, ele se dissipará em uma nuvem decepcionante. Para testar seu feitiço de forma confiável, é preciso simular o nível de mana, representando tanto alta quanto baixa energia mágica.
Deslize para começar a programar
Sua missão é criar um sistema robusto de lançamento de feitiços e testá-lo utilizando mocks.
- Criar uma função
get_mana_level()que retorna um número inteiro aleatório de 0 a 100. - Criar uma função
cast_spell()que:- Chama
get_mana_level(). - Se o nível de mana for 50 ou mais, retorna
"Fireball cast successfully!". - Caso contrário, retorna
"The spell fizzled...".
- Chama
- Escrever dois testes utilizando
unittest:- Usar
patchpara fazer com queget_mana_level()retorne 80 e verificar secast_spell()retorna a mensagem de sucesso. - Usar
patchpara fazer com queget_mana_level()retorne 20 e verificar secast_spell()retorna a mensagem de falha.
- Usar
Dicas:
- Utilize
random.randintna sua funçãoget_mana_level(). - Para aplicar o patch corretamente, aponte para
'get_mana_level'em seus testes.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo