Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:内部依存関係のモック化 | Testing with unittest and pytest
Python構造化プログラミング
セクション 5.  5
single

single

チャレンジ:内部依存関係のモック化

メニューを表示するにはスワイプしてください

魔法のチャレンジへの挑戦:見習い魔法使いとして、マナの予測できない力が働く中でも、魔法の杖の呪文発動スクリプトが正しく動作することを確認する必要があります。杖は周囲の魔力を感知するために get_mana_level() 関数に依存しています。マナが十分に高ければ、炎の呪文が発動し、そうでなければ失敗して煙だけが残ります。呪文を確実にテストするためには、マナレベルをモックし、高い魔力と低い魔力の両方をシミュレートする必要があります。

タスク

スワイプしてコーディングを開始

堅牢な呪文詠唱システムを作成し、モックを用いてテストしてください。

  • get_mana_level() 関数を作成し、0から100までのランダムな整数を返します。
  • cast_spell() 関数を作成し、以下を実装します:
    • get_mana_level() を呼び出します。
    • マナレベルが50以上の場合、"Fireball cast successfully!" を返します。
    • それ以外の場合、"The spell fizzled..." を返します。
  • unittest を使って2つのテストを書きます:
    • patch を使い、get_mana_level() が80を返すようにして、cast_spell() が成功メッセージを返すことを確認します。
    • patch を使い、get_mana_level() が20を返すようにして、cast_spell() が失敗メッセージを返すことを確認します。

ヒント:

  • random.randint 関数内で get_mana_level() を使用してください。
  • 正しくパッチするには、テスト内で 'get_mana_level' をターゲットにしてください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt