よくある質問(FAQ)

「三項演算子」を記述したコードは、条件分岐としてC1カバレッジ計測ができますか?

カバレッジ計測について

質問

下記のような「三項演算子」を使用して記述されたコードは、条件分岐と認識して「C1カバレッジ」計測ができますか?

int data = (x >= y) ? x : y;

回答

「三項演算子」は1つの実行文として扱われ、条件分岐と見なされず「C1カバレッジ」計測の対象となりません。また「三項演算子」以外でも、下記のように分岐元と分岐先が同じ行に記述されている場合も「C1カバレッジ」計測の対象となりません。

if (a == b) { x++ };
※制限事項について
本件は「カバレッジマスターwinAMS」の制限事項に該当します。
制限事項の詳細につきましては、「Windowsメニュー」→「GAIO winAMS」→「winAMSヘルプ」を辿り「カバレッジマスターwinAMS」マニュアルをご覧ください。
■制限事項 掲載位置
ーwinAMS
 ー技術情報
  ー制限事項
   ーC1カバレッジの制限

■回避策
本件については「MC/DCカバレッジ」で計測することができます。
「MC/DCカバレッジ」を計測するためには「埋め込みコード」を作成する必要があります。 
詳細については こちらのFAQをご覧ください。