
開発とベスト プラクティスにはレベルがあるため、高品質のコードを作成する際に学ぶべきこと。ツールとテクニックの選択も同様に重要です。
ニーズまたは要件に基づくテスト フレームワーク:
ドクターテスト
- シンプルなテストフレームワーク
- 関数 docstring 内にテスト ケースを作成します
- ドキュメント文字列内のテスト ケースを自動的に検索します
- ドキュメントを作成し、コードを最新の状態に保つのに適しています
例:
1 2 3 4 5 6 7 8 9 10 11 12 | def add(a, b):
"" "
Add two numbers
>>> add(2, 3)
5
"" "
return a + b
if __name__== "__main__" :
import doctest
doctest.testmod()
print (add(2, 3))
|
ログイン後にコピー
単体テスト
- Python 組み込みライブラリ
- クラスおよびメソッドベースのテストケースを作成する
- コードとテストケースを分離する
- テストケース名は「test_」で始まる必要があります
例:
1 2 3 4 5 6 7 8 9 10 11 12 | import unittest
from main import add
class TestAdd(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(-2, -3), -5)
self.assertEqual(add(-2, 3), 1)
self.assertEqual(add(2, -3), -1)
if __name__ == "__main__" :
unittest.main()
|
ログイン後にコピー
パイテスト
- 外部 Python ライブラリ
- クラスベースのテストケースを作成する必要はありません
- unittest に比べて冗長ではありません
- より説明的でカラフルな出力
- コードカバレッジをサポート
例:
1 2 3 4 5 6 7 | from main import add
def test_add():
assert add(2, 3) == 5
assert add(2, -3) == -1
assert add(-2, 3) == 1
assert add(-2, -3) == -5
|
ログイン後にコピー
最後に、テストの一貫性を保つためにテスト ケースに特定の設定が必要なケースについても考えてみましょう。
Unittest は、各テストの実行の前後に実行される setUp() および TearDown() 機能を提供します。
Pytest は、各テストの実行の前後に実行される @pytest.fixture デコレーターを提供します。
以上が選択できる Python コード テスト フレームワークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。