www.digitalmars.com D | English
Last update Mon Feb 14 200

単体テストの拡張

D言語組み込みの単体テストサポートは、テストコードと実装コードをすぐ近くに 配置するために非常に便利です。これによって、 単体テストが実装コードと常に平行して更新され、 実行されるという効率的な管理が実現されます。

Dでのもっとも直接的な単体テストの使い方としては、 契約の確認のための assert() が使用されます:

	unittest
	{
		assert(x == 5);
	}
そしてもし assert が失敗したら、AssertError 例外が送出され、 ランタイムライブラリがそれをcatchし、メッセージを表示して、 アプリケーションを終了します。

これが本質的な作業なのですが、より柔軟な処理を行いたいプログラマも いらっしゃるでしょう。例えば、 最初のエラーで停止するのではなく、 一回の実行で発生したすべてのエラーのログを取りたいかもしれません。

以下に、それを実現するアプローチをいくつか紹介します:

覚えておきたいポイントは、単体テストの { } のブロックの中に何が書かれているかは、 コンパイラや言語は一切制限を加えないということです。 必要に応じて、 正しいDのコードならなんでも記述することができます。