Pythonにおける単体テストの基礎

テストの基本概念 関数やクラスを実装する際には、確実に動作を検証するテストコードの作成が重要です。テストによって、多様な入力条件下で期待通りの出力が得られることを確認できます。特にプログラムに修正を加える際に既存の動作が維持されているかを検証する手段として不可欠です。 関数テストの実践 テスト対象の関数例として、ユーザー名を整形する処理を考えます ...

8月18日 08:28 投稿

Python 単体テストフレームワーク unittest の概要と実践

unittest を学ぶ理由 テストは実施フェーズごとに単体テスト、結合テスト、システムテスト、受入テストなどに分類されます。単体テスト(unit test)とは、ソフトウェアの最小単位(関数やクラスなど)を他のコンポーネントから切り離して検証する作業です。これは通常、開発者がモジュール実装後に実施します。 単体テストを早期に実施することで、バグを发现・修正しや ...

8月7日 04:22 投稿

HTML形式のテストレポート生成ツールの自作方法

unittestフレームワークを使用する際、HTML形式のレポートを生成するために`HTMLRunnerCN.py`をダウンロードすることが多いです。しかし、自分でHTMLRunnerを作成することも可能です。 HTMLRunnerはunittestのTextTestRunner()を模倣して作成されます。まずはTextTestRunner()の動作フローを見てみましょう。 TextTestRunnerの使用方法 import unittest suite = unitte ...

6月19日 23:26 投稿

マルチスレッド環境下でのユニットテスト出力キャプチャのカスタマイズ

課題の背景 テスト実行中に発生するprintなどの標準出力は、デバッグや結果分析において重要な情報源です。しかし、Pythonの標準ライブラリunittestでは、これらの出力はデフォルトでコンソールに直接表示されるため、個々のテストケースごとに分けて収集するには特別な対応が必要です。 一般的なアプローチとして、sys.stdoutを一時的なio.StringIOインスタンスにリダイレ ...

6月6日 17:08 投稿

Pythonのアサーション:自動テストにおける一般的な使用方法

Pythonの自動テストでは、要素を見つけて操作するだけでなく、期待される結果を判断するためのアサーションも重要です。ここでは、一般的に使用されるアサーションメソッドをいくつか紹介します。 基本的なアサーション === assertEqual assertNotEqual assertTrue assertFalse assertIsNone assertIsNotNone assertEqualとassertNotEqual =============== ...

6月4日 18:54 投稿