PythonでのDoctest

UnsplashのHiteshChoudharyによる写真

前書き

Doctestは、Pythonプログラムのシンプルですが便利なテスト方法です。単体テストと比較して、doctestはテストケースを作成するために独立したスクリプトを必要としません。テストケースは、Python関数のドキュメント情報(トリプルシングル/ダブルクォート内のコンテンツ)に書き込むことができます。次に、これらのケースは、doctestモジュールを使用して機能をテストできます。

doctestそして、Pythonの対話セッションのような外観、そしてが示すように、彼らが正確に動作することを確認するために、これらのセッションを実行するテキストの一部のモジュールを検索します。(Pythonドキュメント)

簡単な例

間違ったabs()関数にdoctestを使用しましょう:

結果は次のとおりです。

doctestの簡単な例

上記の例が示しているように、doctestは、関数をテストするための非常に便利で簡単な方法です。

一言で言えば、たった3つのステップがあります。

  • インポートdoctestモジュール
  • を使用して、トリプル一重引用符/二重引用符でテストケースを記述します
  • doctest.testmod()doctestの実行に使用

すべてのテストケースに合格した場合、doctestは何も出力しません。

Doctestのその他のヒント

1.詳細情報を印刷するには

ではdoctest.testmod、と呼ばれる重要なパラメータがありますverbose。

Falseデフォルトではに設定されています。つまり、テストの実行時に、失敗したケースのみが詳細情報を出力します。すべてのケースの完全な情報を取得したい場合は、に設定してくださいTrue。

if __name__ == '__main__':
    doctest.testmod(verbose=True)

実際には、if __name__ == '__main__':ブロックを書き込む必要はありません。ターミナルで直接doctestを実行できます。

$ python -m doctest wrong_abs.py

$ python -m doctest -v wrong_abs.py

関数の下にコメントとテストケースの両方を配置すると、少し面倒になることがあります。心配はいりません。すべてのテストケースを独立したファイルに入れても、doctestを完全に実行できます。

たとえば、というファイルを作成し、test_cases.txtその中に「doctestスタイル」のテストケースを入れましょう。

テストケースを保存するためのファイル

次に、次のコマンドでdoctestを実行します。

python -m doctest test_cases.txt

結論

Doctestは、Pythonプログラム用の使いやすいテスト方法です。この手法をうまく使用すると、バグのないコードを取得するのに役立ちます。

読んでくれてありがとう。

関連記事:

Pythonプログラマーのための6つのデバッグ手法

その他のPythonチュートリアル:

究極のPythonチュートリアル(更新を続ける)

提案された投稿

ドメイン名に関する情報の検索

Brian P. Hogan 著『Small, Sharp Software Tools』からの抜粋

ドメイン名に関する情報の検索

facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。

Langchain を使用して ChatGPT プラグインを無料で実行する方法

Langchain を使用して ChatGPT プラグインを無料で実行する方法

ブラウザ、コード インタープリターなどの新しい強力な ChatGPT プラグインについては聞いたことがあるはずです。しかし、問題があります。プラグインへのアクセスは待機リストに制限されているため、多くの人がアクセスできません。

関連記事

赤髪の少女単独公演

ヘイデンからの依頼で、ケイティは自分のオナニーを撮影する。

赤髪の少女単独公演

一緒に過ごした夜を終え、ヘイデンがケイティを大学の寮に車で送ったのは真夜中過ぎだった。彼女は朝早くから授業があり、前夜彼と一緒にいた後、着替えを持っていませんでした。

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

今日のペースが速く競争の激しい世界では、個人の成長、経済的安定、そして人生全体の満足度において、個人のキャリアが重要な役割を果たしています。しかし、多くの人は停滞と不満の絶え間ないサイクルに陥っており、職業生活が徐々に消耗していきます。

一部のフリーランサーが自分の人生を偽っている理由

一部のフリーランサーが自分の人生を偽っている理由

私は最近、世界最大のプロフェッショナルなソーシャル ネットワークである Linkedin を利用していて、フォローしているフリーランス デザイナーの注目を集めた投稿を見つけました。彼らはすべて、飛行機からの写真、ラップトップを持ってビーチで撮影した写真、スイミング プールやオフィスから素晴らしい景色を眺めた写真を投稿していました。

安全な労働環境の構築

安全な労働環境の構築

「私が危険にさらされたとき、彼は私を守ってくれます。彼は私をテントの中に隠すでしょう。