⑦Pythonプログラミング

Pythonのテスト・デバッグ・コード品質管理【pytest・black・flake8】

⑦Pythonプログラミング
記事内に広告が含まれています。

Pythonのテスト・デバッグ・コード品質管理を解説します。品質の高いコードを書くための必須スキルです。

pytestでテストを書く

pip install pytest
# test_calculator.py
def add(a, b):
    return a + b

def divide(a, b):
    if b == 0:
        raise ValueError("0で割ることはできません")
    return a / b

def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0

def test_divide():
    assert divide(10, 2) == 5.0

def test_divide_by_zero():
    import pytest
    with pytest.raises(ValueError):
        divide(10, 0)
pytest test_calculator.py -v

デバッグ方法

方法コマンド・使い方
print デバッグprint(変数) で値を確認
pdb(標準デバッガ)import pdb; pdb.set_trace()
breakpoint(Python 3.7+)breakpoint() を挿入
ログ出力import logging で詳細なログ管理

コード品質ツール

ツール用途
blackコード自動フォーマット
flake8コードスタイルチェック(PEP8準拠)
mypy型ヒントの静的チェック
pylint総合的なコード品質チェック

まとめ

  • pytestでassertを使った自動テストを書ける
  • pytest.raises()で例外が発生することをテストできる
  • blackでコードを自動フォーマットして一貫したスタイルを保てる

コメント

タイトルとURLをコピーしました