「よい単体テストとは」の版間の差分
提供: C++入門
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 ;単体テスト:たんたいてすと __TOC__ == 概要 == ユニットテストフレームワークを用いて...」) |
(相違点なし)
|
2013年3月9日 (土) 16:09時点における最新版
読み方
- 単体テスト
- たんたいてすと
概要
ユニットテストフレームワークを用いて、単体テストを書くことがありますが、よい単体テストの特徴や書き方は、どういったものでしょうか?
よい単体テストの特徴とは
- 単体テストは、自動化されて、反復実行できるものである
- 単体テストは、実装しやすいものである
- 単体テストは、今後も利用できるように残しておく
- 単体テストを誰でも実行できる
- 単体テストをボタン1つで実行できる
- 単体テストを素早く実行できる
よい単体テストを書く方法とは
- 特定の振る舞いは、1つのテストのみで指定する。
- 不必要なアサーションは設定しない。
- 1つのテストにつき、1つの論理的アサーションを設定する。
- 外部のすべてのサービスや状態には、ダミーを利用する。
- 設定は、設定であり、テストの対象ではない。
- 単体テストに、わかりやすく、一貫性のある名前をつける。
自動化のためのヒント
- 継続的インテグレーションツール Jenkins 等を利用する
- ビルド環境を定義し、自動的にビルド環境を構築する
- ソースコード管理ツールにコミットされたらビルドとテストを実行する
- テストは、継続的インテグレーションツールでいつでも実行できる