これらのマクロを使用すると、テスト ケースおよびスタブのソースでテスト ケースの実行を検証できます。

マクロ定義:
CPPTEST_FAIL(message)カスタム メッセージとともに無条件で失敗します。
CPPTEST_ASSERT(condition)true に評価される条件を検証します。
CPPTEST_ASSERT_BITS(mask, expected, actual)CPPTEST_ASSERT_BITS_MESSAGE と同じですが、汎用的なアサーション メッセージを使用します。
CPPTEST_ASSERT_BITS_MESSAGE(message, mask, expected, actual)expected 値と actual 値のマスクされたビット (usingmask) が等しいことを検証し、失敗したときにはカスタム メッセージを出力します (mask、expected、actual は整数型)。expected および actual で mask の上位ビットだけが比較されます。
CPPTEST_ASSERT_BITS_HIGH(mask, actual)CPPTEST_ASSERT_BITS_HIGH と同じですが、汎用的なアサーション メッセージを使用します。
CPPTEST_ASSERT_BITS_HIGH_MESSAGE(message, mask, actual)actual 値のマスクされたビット (usingmask) が high であることを検証し、失敗したときにはカスタム メッセージを出力します (mask、actual は整数型)。mask の上位ビットだけが actual で検査されます。
CPPTEST_ASSERT_BITS_LOW(mask, actual)CPPTEST_ASSERT_BITS_LOW と同じですが、汎用的なアサーション メッセージを使用します。
CPPTEST_ASSERT_BITS_LOW_MESSAGE(message, mask, actual)actual 値のマスクされたビット (usingmask) が low であることを検証し、失敗したときにはカスタム メッセージを出力します (mask、actual は整数型)。mask の上位ビットだけが actual で検査されます。
CPPTEST_ASSERT_BIT_HIGH_MESSAGE(message, n, actual)actual の n 番目のビットが high であることを検証し、失敗したときにはカスタム メッセージを出力します (n 、actual は整数型)。
CPPTEST_ASSERT_BIT_HIGH(n, actual)CPPTEST_ASSERT_BIT_HIGH と同じですが、汎用的なアサーション メッセージを使用します。
CPPTEST_ASSERT_BIT_LOW_MESSAGE(message, n, actual)actual の n 番目のビットが low であることを検証し、失敗したときにはカスタム メッセージを出力します (n 、actual は整数型)。
CPPTEST_ASSERT_BIT_LOW(n, actual)CPPTEST_ASSERT_BIT_LOW と同じですが、汎用的なアサーション メッセージを使用します。
CPPTEST_ASSERT_MESSAGE(message, condition)true に評価される条件を検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_EQUAL(expected, actual)2 つの値が等しいことを検証します。
CPPTEST_ASSERT_EQUAL_MESSAGE(message, expected, actual)2 つの値が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_BOOL_EQUAL(expected, actual)2 つのブール値が等しいことを検証します。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_BOOL_EQUAL_MESSAGE(message, expected, actual)2 つのブール値が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_DOUBLES_EQUAL(expected, actual, delta)CPPTEST_ASSERT_FLOAT_EQUAL_DELTA と同等です。
CPPTEST_ASSERT_DOUBLES_EQUAL_MESSAGE(message, expected, actual, delta)CPPTEST_ASSERT_FLOAT_EQUAL_DELTA_MESSAGE と同等です。
CPPTEST_ASSERT_FLOAT_EQUAL(expected, actual, delta)CPPTEST_ASSERT_FLOAT_EQUAL_DELTA と同等です。
CPPTEST_ASSERT_INTEGER_EQUAL(expected, actual)2 つの整数値が等しいことを検証します。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_INTEGER_EQUAL_MESSAGE(message, expected, actual)2 つの整数値が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_INTEGER_EQUAL_DELTA(expected, actual, delta)2 つの整数値が等しいことを検証します ('delta' の精度まで)。
CPPTEST_ASSERT_INTEGER_EQUAL_DELTA_MESSAGE(message, expected, actual, delta)2 つの整数値が等しいことを検証します ('delta' の精度まで)。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_INTEGER_ARRAY_EQUAL(expected, actual, size)2 つの整数値の配列が等しいことを検証します。配列の先頭から 'size' までの要素が比較されます。
CPPTEST_ASSERT_INTEGER_ARRAY_EQUAL_DELTA(expected, actual, size, delta)2 つの整数値の配列が等しいことを検証します ('delta' の精度まで)。配列の先頭から 'size' までの要素が比較されます。
CPPTEST_ASSERT_UINTEGER_EQUAL(expected, actual)2 つの符号なし整数値が等しいことを検証します。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_UINTEGER_EQUAL_MESSAGE(message, expected, actual)2 つの符号なし整数値が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_UINTEGER_EQUAL_DELTA(expected, actual, delta)2 つの符号なし整数値が等しいことを検証します ('delta' の精度まで)。
CPPTEST_ASSERT_UINTEGER_EQUAL_DELTA_MESSAGE(message, expected, actual, delta)2 つの符号なし整数値が等しいことを検証します ('delta' の精度まで)。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_UINTEGER_ARRAY_EQUAL(expected, actual, size) 2 つの符号なし整数値の配列が等しいことを検証します。配列の先頭から 'size' までの要素が比較されます。
CPPTEST_ASSERT_UINTEGER_ARRAY_EQUAL_DELTA(expected, actual, size, delta)2 つの符号なし整数値の配列が等しいことを検証します ('delta' の精度まで)。配列の先頭から 'size' までの要素が比較されます。
CPPTEST_ASSERT_FLOAT_EQUAL_DELTA(expected, actual, delta)2 つの浮動小数点値が等しいことを検証します ('delta' の精度まで)。 
CPPTEST_ASSERT_FLOAT_EQUAL_DELTA_MESSAGE(message, expected, actual, delta)2 つの浮動小数点値が等しいことを検証します ('delta' の精度まで)。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_FLOAT_ARRAY_EQUAL_DELTA(expected, actual, size, delta) 2 つの浮動小数点値の配列が等しいことを検証します ('delta' の精度まで)。
CPPTEST_ASSERT_CSTR_EQUAL(expected, actual)2 つの C 形式の文字列が等しいことを検証します。失敗したときには expected と actual の両方の値を出力します。   失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_CSTR_EQUAL_MESSAGE (message, expected, actual)2 つの C 形式の文字列が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_CSTR_ARRAY_EQUAL(expected, actual, size)2 つの C 形式の文字列の配列が等しいことを検証します。配列の先頭から 'size' までの要素が比較されます。
CPPTEST_ASSERT_CSTR_N_EQUAL(expected, actual, max_size)2 つの C 形式の文字列が等しいことを検証します。文字列の先頭から 'max_size' までの文字が比較されます。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_CSTR_N_EQUAL_MESSAGE(message, expected, actual, max_size)2 つの C 形式の文字列が等しいことを検証します。文字列の先頭から 'max_size' までの文字が比較されます。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_MEM_BUFFER_EQUAL(expected, actual, size)2 つのデータ バッファーが等しいことを検証します。'size' バイトが比較されます。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_MEM_BUFFER_EQUAL_MESSAGE(message, expected, actual, size)2 つのデータ バッファーが等しいことを検証します。'size' バイトが比較されます。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_PTR_EQUAL(expected, actual)2 つのポインター値が等しいことを検証します。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_PTR_EQUAL_MESSAGE(message, expected, actual)2 つのポインター値が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_PTR_ARRAY_EQUAL(expected, actual, size)2 つのポインターの配列が等しいことを検証します。配列の先頭から 'size' までの要素が比較されます。
CPPTEST_ASSERT_WCSTR_EQUAL(expected, actual)2 つの C 形式のワイド文字列が等しいことを検証します。失敗したときには expected と actual の両方の値を出力します。失敗したアサーションは、品質タスク ビューから C++test によって自動的に承認できます。
CPPTEST_ASSERT_WCSTR_EQUAL_MESSAGE(message, expected, actual)2 つの C 形式のワイド文字列が等しいことを検証します。失敗したときにはカスタム メッセージを出力します。

CPPTEST_ASSERT_ENUM_EQUAL(scoped_enum_name, expected, actual)

2 つの汎整数値が等しいことを検証します。失敗したときには expected と actual の両方の値を列挙子として出力します。汎整数値が 指定された enum の列挙子にマッピングできない場合、エラーがレポートされます。詳細は「列挙値の扱い」を参照してください。

CPPTEST_ASSERT_ENUM_EQUAL_MESSAGE(scoped_enum_name, msg, expected, actual)

2 つの汎整数値が等しいことを検証します。上の CPPTEST_ASSERT_ENUM_EQUAL に似ていますが、失敗したときにはカスタム メッセージを出力します。詳細は列挙値の扱い」を参照してください。
CPPTEST_ASSERT_THROW(expression, ExceptionType)指定された expression が指定された型の例外をスローすることを検証します。
CPPTEST_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)指定された expression が指定された型の例外をスローすることを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_NO_THROW(expression)指定された expression が例外をスローしないことを検証します。
CPPTEST_ASSERT_NO_THROW_MESSAGE(message, expression)指定された expression が例外をスローしないことを検証します。失敗したときにはカスタム メッセージを出力します。
CPPTEST_ASSERT_EXTERNAL(program, param1, param2, param3)外部アプリケーションを使用して値を検証します。最初のパラメーターは、実行する実行可能ファイルを指定します。プログラムは 3 つのパラメーターを受け取ります (param1、param2、param3)。ゼロ以外の値が返された場合、アサーションは失敗し、プログラムの標準出力が失敗メッセージとして使用されます。
CPPTEST_ASSERT_EXTERNAL_MESSAGE(message, program, param1, param2, param3)外部アプリケーションを使用して値を検証します。最初のパラメーターは、実行する実行可能ファイルを指定します。プログラムは 3 つのパラメーターを受け取ります (param1、param2、param3)。ゼロ以外の値が返された場合、アサーションは失敗し、カスタム メッセージが失敗メッセージとして使用されます。
CPPTEST_ASSERT_MEMORY_LEAKS()

現在のテスト ケース実行中に割り当てられた動的メモリ ブロックが、このマクロ呼び出しより前に解放されていることを検証します。

注意: このマクロを使用するには 、テスト コンフィギュレーションでメモリ監視機能が有効化されている必要があります (「実行時エラー検出」を参照)。

CPPTEST_ASSERT_EQUAL_FMT(expected, actual, format)

2 つの値が等しいことを検証します。アサーションとともに expected / actual 値をカスタム書式でレポートします。

アサーションは C 言語標準の snprintf() 関数を使用して、expected / actual 値をカスタム パターン (<format> 文字列) を使用した文字列表現に変換します。

その他の注意点:

  • C 言語標準の snprintf() 関数が C++test のハーネスで利用できる必要があります。
  • 書式文字列 (<format>) は C 言語標準の printf() に準拠している必要があります。
  • <expected>、<actual>、<delta> 値は、printf() が許容/期待する実際の型に従って指定されている必要があります。たとえば、浮動小数点値の書式文字列が "%f" の場合、有効な浮動小数点値を指定する必要があります (たとえば 0 ではなく 0.0)。
  • 結果値の文字列にはバッファー サイズが定義されています。actual 値の文字列サイズがバッファー サイズを超える場合、実行時エラーがレポートされます。
  • 出力バッファーのデフォルトのサイズは 24 バイトに設定されています。バッファーのサイズは、プロジェクト プロパティの [C++test] > [ビルド設定] > [コンパイラ オプション] に次の値を追加することでカスタマイズできます: -DCPPTEST_FMT_BUFFER_SIZE=<new buffer size in bytes>
CPPTEST_ASSERT_EQUAL_DELTA_FMT(expected, actual, delta, format)
CPPTEST_ASSERT_ARRAY_EQUAL_FMT(expected, actual, size, format)

2 つの配列が等しいことを検証します。アサーションとともに expected / actual 値をカスタム書式でレポートします。

CPPTEST_ASSERT_ARRAY_EQUAL_DELTA_FMT(expected, actual, size, delta, format)
CPPTEST_ASSERT_DOUBLES_FMT_EQUAL(expected, actual)

2 つの double 浮動小数点値が等しいことを検証します (文字列に変換された値を比較)。 

CPPTEST_ASSERT_DOUBLES_FMT_EQUAL_MESSAGE(message, expected, actual)2 つの double 浮動小数点値が等しいことを検証します (文字列に変換された値を比較)。失敗したときにはカスタム メッセージを出力します。



  • No labels