下記のような「三項演算子」を使用して記述されたコードは、条件分岐と認識して「C1カバレッジ」計測ができますか?
int data = (x >= y) ? x : y;
よくある質問(FAQ)
下記のような「三項演算子」を使用して記述されたコードは、条件分岐と認識して「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をご覧ください。