「よい単体テストとは」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 ;単体テスト:たんたいてすと __TOC__ == 概要 == ユニットテストフレームワークを用いて...」)
 
(相違点なし)

2013年3月9日 (土) 16:09時点における最新版


読み方

単体テスト
たんたいてすと

概要

ユニットテストフレームワークを用いて、単体テストを書くことがありますが、よい単体テストの特徴や書き方は、どういったものでしょうか?

よい単体テストの特徴とは

  • 単体テストは、自動化されて、反復実行できるものである
  • 単体テストは、実装しやすいものである
  • 単体テストは、今後も利用できるように残しておく
  • 単体テストを誰でも実行できる
  • 単体テストをボタン1つで実行できる
  • 単体テストを素早く実行できる

よい単体テストを書く方法とは

  • 特定の振る舞いは、1つのテストのみで指定する。
  • 不必要なアサーションは設定しない。
  • 1つのテストにつき、1つの論理的アサーションを設定する。
  • 外部のすべてのサービスや状態には、ダミーを利用する。
  • 設定は、設定であり、テストの対象ではない。
  • 単体テストに、わかりやすく、一貫性のある名前をつける。

自動化のためのヒント

  • 継続的インテグレーションツール Jenkins 等を利用する
  • ビルド環境を定義し、自動的にビルド環境を構築する
  • ソースコード管理ツールにコミットされたらビルドとテストを実行する
  • テストは、継続的インテグレーションツールでいつでも実行できる

関連項目