category: C / C++
DATE : 2006/10/14 (Sat)
DATE : 2006/10/14 (Sat)
(前回の記事)
テストケースの基本
テストケースは、CppUnit::TestCase(UnitTestCase.h)を継承したクラスに記述します。
また、次のメンバ関数をオーバーロードします。
- void setUp()
- テストケースが実行されると呼び出される関数です。この関数で、このテストケース全体の準備を行います。なお、省略可能です。
- void runTest()
- setUp メンバ関数による準備が終わると呼び出される関数です。実際のテストは、この関数に記述します。しかし実際は、テスト要素ごとに作ったメンバ関数を runTest から呼び出す形になると思います。
- void tearDown()
- runTest メンバ関数が終わると呼び出される関数です。この関数で、テストケース全体の始末を行います。setUp と同様に、省略可能です。
なお、他にも、テストケースに名前をつけるためのコンストラクタなどもありますが、ここでは省略します。
それぞれのテストでは、テスト対象クラスの public / protected メンバ関数からの結果と想定した結果との比較を行うことで、正しく処理を行ったかどうかを確かめます。比較には、次のマクロ関数を使用します。
- ASSERT_EQUALS(想定, 実際)
- 想定した値と実際の値とが等しい(==)かどうか比較します。
- ASSERT_EQUALS_DELTA(想定, 実際, 誤差)
- 上のものと同じですが、誤差を定めることができます。
- ASSERT_EQUALS_OBJ(想定, 実際)
- オブジェクト同士が同じもの(==)かどうか比較します。
- ASSERT_TRUE(実際)
- 実際の結果が真かどうかを確かめます。ただし、引数に渡せるのは bool 型です。BREW で真偽を表す boolean 型は、ASSERT_EQUALS で比較します。
- ASSERT_NULL(実際)
- 実際の結果がヌルであることを確かめます。
- ASSERT_NOT_NULL(実際)
- 実際の結果がヌルではないことを確かめます。
- FAIL_MSG(文字列)
- このマクロが実行されると、テストは必ず失敗します。到達してはならない部分にこのマクロを記述します。失敗した際のメッセージとして、文字列を渡すことができます。
なお、ASSERT_* のそれぞれには、失敗時にメッセージを表示するためのマクロもあります。ただし、ここでは省略します。
(づづきます)
PR
●この記事にコメントする
忍者ブログ [PR]