Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonにおけるテストのイントロダクション | Testing with unittest and pytest
Python構造化プログラミング

Pythonにおけるテストのイントロダクション

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

テストはソフトウェア開発における基本的な実践であり、コードが期待通りに動作し、進化しても信頼性を保つことを保証します。自動テストを利用することで、手動によるチェックに頼らず、時間がかかりやすくミスが発生しやすい作業を自動化できます。テストを書くことで、変更によって既存の機能が壊れた場合にすぐに検出でき、安心してリファクタリングや機能拡張を行うことができます。

テストの最も一般的なアプローチの一つが**テスト駆動開発(TDD)**です。TDDでは、実装する前に望ましい動作や機能を記述したテストを書きます。このプロセスにより、要件や境界ケースについて事前に慎重に考えることができ、よりクリーンで保守しやすいコードにつながります。テストを書いた後は、そのテストに合格するために必要最小限のコードを実装し、次にコードの明確化や効率化のためにリファクタリングを行い、再度テストを実行して問題がないことを確認します。このサイクル(テストを書く、コードを書く、リファクタリングする)を繰り返すことで、堅牢なソフトウェアを段階的に構築できます。

テストはバグを見つけるだけでなく、コードの生きたドキュメントとしても機能し、他の人や将来の自分がコードの動作を理解しやすくなります。自動テストは、チームでの共同作業や大規模プロジェクトで特に価値があり、安全網として機能することで、実験や自信を持ったコード変更を促進します。

12345
# A function to add two numbers def add(a, b): return a + b print(add(2, 3))
# A basic test case for the add function using unittest
import unittest

class TestAddFunction(unittest.TestCase):
    def test_add_positive_numbers(self):
        self.assertEqual(add(2, 3), 5)

    def test_add_zero(self):
        self.assertEqual(add(0, 5), 5)

    def test_add_negative_numbers(self):
        self.assertEqual(add(-1, -1), -2)

提供されたコードは、Python の組み込み TestAddFunction フレームワークを使用して unittest というテストケースクラスを定義しています。このクラス内には、次の3つのテストメソッドがあります。

  • test_add_positive_numbersadd(2, 3) を呼び出した結果が 5 になることを確認します。
  • test_add_zeroadd(0, 5) でゼロと5を加算した結果が 5 になることを検証します。
  • test_add_negative_numbers は2つの負の数を加算した場合、add(-1, -1) の結果が -2 になることを確認します。

各テストメソッドは self.assertEqual を使用して、add 関数の実際の結果と期待される値を比較します。いずれかのテストが失敗した場合、フレームワークがそれを報告し、早期にミスを発見するのに役立ちます。

question mark

Python 開発における自動テストの主な利点はどれですか?

正しい答えを選んでください

すべて明確でしたか?

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

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

セクション 5.  1

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 5.  1
some-alt