slcoverage.Filter クラス
名前空間: slcoverage
カバレッジ フィルター セット
説明
slcoverage.Filter クラスのオブジェクトを使用して、slcoverage.FilterRule クラスによって規則を作成することで、達成されていないカバレッジ オブジェクティブをフィルターで除外します。
slcoverage.Filter クラスは handle クラスです。
作成
説明
は filt = slcoverage.Filter()slcoverage.Filter オブジェクトを作成します。
は、filt = slcoverage.Filter(filterFile)filterFile に保存されたフィルター規則が含まれた slcoverage.Filter オブジェクトを作成します。
入力引数
CVF 形式のフィルター ファイル。ファイルのパス名の文字配列または文字配列の cell 配列として指定します。ファイル拡張子を含める必要はありません。
例: 'myfilt', 'filters\myfilt', {'myfilt1', 'myfilt2'}
メソッド
addRule | カバレッジ フィルター規則をフィルターに追加 |
removeRule | Remove rule from filter rule set |
rules | フィルターの規則 |
setFilterName | Set name of coverage filter object |
filterName | Get name of coverage filter object |
setFilterDescription | Set description of coverage filter object |
filterDescription | Get description of coverage filter object |
save | カバレッジ フィルター オブジェクトをカバレッジ フィルター ファイルに保存する |
例
この例では、規則をカバレッジ フィルター ファイルに追加する方法を説明します。
フィルター オブジェクトを作成し、BlockSelector クラスを使用して slvnvdemo_covfilt モデル内の Saturation ブロックの BlockSelector オブジェクトを作成します。
filt = slcoverage.Filter; blockSel = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,... 'slvnvdemo_covfilt/Saturation');
最初の入力としてセレクター、2 番目の入力として根拠を指定し、slcoverage.FilterRule を使用して Saturation ブロックをフィルター処理する規則を作成します。
rule = slcoverage.FilterRule(blockSel,'Edge case');
slcoverage.Filter クラスの addRule メソッドを使用して、規則をフィルター オブジェクトに追加します。
addRule(filt,rule);
slcoverage.Filter クラスの save メソッドを使用して、新規規則が含まれたフィルターをフィルター ファイルに保存します。
save(filt,'myFilterFile')
この例では、フィルター オブジェクトを作成し、サブシステムをカバレッジ解析から除外する規則を追加する方法を説明します。
slvnvdemo_covfilt モデルを開きます。SimulationInput オブジェクトを使用して、カバレッジの記録を有効にし、カバレッジ設定を指定します。
modelName = 'slvnvdemo_covfilt'; load_system(modelName) simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData');
モデルのシミュレーションを実行します。カバレッジ データは、CovSaveName プロパティに指定された値に保存されます。
simOut = sim(simIn); covData = simOut.covData;
slcoverage.BlockSelector クラスを使用してブロックをフィルター処理できます。Switchable config サブシステムを除外するには、最初の入力として slcoverage.BlockSelectorType.SubsystemAllContent を使用します。
subsysSel = slcoverage.BlockSelector(... slcoverage.BlockSelectorType.SubsystemAllContent,... 'slvnvdemo_covfilt/Switchable config');
セレクター、根拠、除外フィルター モードを入力として渡して、フィルターの規則を作成します。
rule = slcoverage.FilterRule(subsysSel,... 'Unused configuration',... slcoverage.FilterMode.Exclude);
slcoverage.Filter オブジェクトを作成し、規則をそのオブジェクトに追加します。
filt = slcoverage.Filter; addRule(filt,rule);
blockFilter.cvf というファイルにフィルターを保存します。このカバレッジ フィルターを使用するレポートを作成するために、covData の filter プロパティへの値としてフィルター ファイルを追加し、covData を使用して coverageData.html というレポートを作成します。
save(filt,'blockFilter') covData.filter = 'blockFilter'; cvhtml('coverageData',covData);
複数のフィルター ファイルがあり、そのそれぞれに独自の規則セットが含まれている場合、フィルター ファイル名またはパス名の cell 配列を作成してカバレッジ結果セットに各フィルター ファイルを適用できます。この例では、2 つのフィルター ファイルを単一の cvdata オブジェクトに適用してから、レポートを表示してフィルターが適用されていることを確認します。
slvnvdemo_covfilt モデルをメモリに読み込みます。
modelName = 'slvnvdemo_covfilt';
load_system(modelName)
Simulink.SimulationInput オブジェクトを使用してカバレッジ設定を設定し、sim を使用してモデルをシミュレートします。
simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData'); simOut = sim(simIn);
2 つのフィルターを cell 配列としてフィルター プロパティに割り当て、それらのフィルターを cvdata オブジェクトに適用します。
covData.filter = {'filter_1','filter_2'};
cvhtml('twoFiltersCovData',covData);
カバレッジ レポートの [カバレッジ解析からフィルターで除外されたオブジェクト] セクションで、適用されているカバレッジ フィルターを確認できます。
バージョン履歴
R2017b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)