「単体テスト」の版間の差分
ナビゲーションに移動
検索に移動
imported>Mono Book |
|||
14行目: | 14行目: | ||
*[[テスト自動化ツール]] | *[[テスト自動化ツール]] | ||
*[[契約プログラミング]] | *[[契約プログラミング]] | ||
+ | *[[ASP.NET Web API/NUnitでユニットテストを行う]] | ||
==参考文献== | ==参考文献== | ||
{{reflist}} | {{reflist}} |
2015年8月19日 (水) 03:01時点における版
単体テスト(英語:unit testing)とは、プログラミングにおいてクラスや関数などのごく小さな単位(ユニット)で、その動作に誤りがないか行うテストのことである。
概要
単体テストはプログラミングにおいてクラスや関数などのごく小さな単位(ユニット)で、その動作に誤りがないか行うテストのことである。これは各種プログラミング言語でよく行われるプリント分を挿入してデバッグするという原始的な行為も含まれる。もう少し大きい視点では契約プログラミングと静的解析ツールの組み合わせに近い概念を、もう少し踏み込んで動的にテストしたい場合などに用いられる。またそもそも契約プログラムを利用できないプログラミング言語や環境で似たようなことを行いたい場合にも用いられる。
今日日ではxUnitといったテスト自動化ツールを用いて行われるのが主流となっており、「単体テスト」という言葉自体が「テスト自動化ツール」を指していることも多い。文脈から読み取る必要がある。本来の意味とは異なるがそんな細かいことを指摘しても無駄である。
昔ながらIT土方ではエクセルで作った項目表を手作業で潰していくという手法をとっているところもある。これらはあらかじめ「変数◯◯の最小値」などのテンプレートになっており、それを元に実際のソースコードに適合するように書き換えて使用するのが定番となっている。
またテスト自動化ツールの多くはGUIのテストには不向きであるため、GUI周りの単体テストについては前述にあるような手作業で行っていることも多い。GUIで単体テストを行い易くするMVVMなる手法も考案されてはいるが、MVVMではソースコードが肥大化するという理由で敬遠されていることが多い。