例外発生時 (1つのテストケース内に例外が発生するパターンがある場合)

テスト対象の関数 int check_divide() は、引数として受け取った a, b を使用して、a / b の計算結果を戻り値として返します。ただし、b が 0 の場合は計算をせずに logic_errorの例外を throwします。

 

  • テスト対象関数

 

次のテストケースでは、データソースから a と b に値を設定します。3つ目のテストパターンでは、b に 0が設定されるため、例外が throw されます。 例外が発生する場合に 1 となる変数 _mode を用意して、3つ目のパターンだけ 1 となるようにデータソースから値を設定します。テスト対象の関数呼び出しの前にコードステップを追加して、_mode が 1 の場合のみ、CPPTEST_ASSERT_THROW_MESSAGE() を実行し、それ以降の処理は行わずにリターンするようにしています。

 

  • テストケースエディターでの設定例

 

 

Copyright © 2023 TechMatrix Corporation. All rights reserved