広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向8▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 38 / 69
単体テストをまとめて書いてみよう(複数のテストケース)
このレッスンでは、複数のテストケースをまとめて実行する書き方を学び、関数の正しさを効率よく確認できるようになることを目標にします。「Python テストケース 書き方」で調べている方向けの内容です。
1つの関数に対して、複数の入力パターンをまとめてテストすることを単体テストと呼びます。「正常な値」「境界の値」「特殊な値」など、いろいろなケースを事前に用意しておくと、バグを早く見つけられます。テストケースを辞書のリストでまとめて管理すると、後からケースを追加するのも簡単です。
サンプルコードでは、test_casesというリストに複数の入力と期待値の組み合わせをまとめ、enumerate()で1件ずつadd()関数の結果と期待値を比較しています。すべてのテストが通ったかどうかをpassedという変数でカウントし、最後に「◯件中◯件成功」という結果をまとめて表示しています。
初心者がよくつまずくのが、正常な値だけをテストして、0や負の数といった「境界値」や「特殊な値」のテストを忘れてしまうことです。境界値テストという考え方は、こうした「特殊な状況」を意図的に確認する重要な視点で、実際のバグの多くはこうした境界条件で発生します。
実際の開発現場では、コードを修正するたびにこうしたテストを自動で実行し、既存の機能が壊れていないかを常に確認しながら開発を進めるのが一般的です。Pythonのpytestのような専用ツールを使えば、こうしたテストをさらに効率よく自動化できます。
Python
OUTPUT / 実行結果
💡 初回実行時はPythonエンジンの読み込みに数秒かかります。
🎯
ここまでできればゴール達成!
複数の入力パターンをまとめてチェックする、テストコードが書けるようになります。
複数の入力パターンをまとめてチェックする、テストコードが書けるようになります。
広告スペース(バナー)
広告スペース(記事内)