自動テストの概要

ケーススタディ:Pythonでソフトウェアを構築する

Mark Pedigo

Principal Data Scientist

ロードマップ

プロジェクトの完了済み部分とこれから始める部分を示すロードマップ。

ケーススタディ:Pythonでソフトウェアを構築する

自動テストと開発ワークフロー

  • 正確で予測可能な結果
  • 事前定義のテストケース
  • 自動実行

画面に「automated testing」の文字が表示され、バグとギアに囲まれたコンピュータ。自動テストを表す。

ケーススタディ:Pythonでソフトウェアを構築する

doctest ライブラリ

  • 自動テスト: doctest、pytest
  • ドックストリングでコードを記述
  • doctest: ドックストリングの例を検証
ケーススタディ:Pythonでソフトウェアを構築する

doctest の機能

  • インラインテスト
  • 使いやすい
  • テストとしてのドキュメント
  • 回帰テストをサポート
ケーススタディ:Pythonでソフトウェアを構築する

使用例

def area(l, w):
    """
    長さと幅から面積を求めて返します
    >>> area(1, 1)
    1
    """
    return l + w

import doctest
doctest.testmod()
ケーススタディ:Pythonでソフトウェアを構築する

使用例

失敗した例:
    area(1,1)
期待値:
    1
実際:
    2
ケーススタディ:Pythonでソフトウェアを構築する

使用例

def area(l, w):
    """
    長さと幅から面積を求めて返します
    >>> area(1, 1)
    1
    """
    return l * w

import doctest
doctest.testmod()

すべて正常 = エラーメッセージなし、出力なし

ケーススタディ:Pythonでソフトウェアを構築する

Ayo berlatih!

ケーススタディ:Pythonでソフトウェアを構築する

Preparing Video For Download...