slcoverage. Отфильтруйте класс

Пакет: slcoverage

Фильтр покрытия устанавливается

Описание

Создайте объект фильтра покрытия, чтобы добавить правила фильтра в.

Конструкция

filt = slcoverage.Filter() создает объект slcoverage.Filter.

filt = slcoverage.Filter(filterFile) добавляют правила фильтра в filterFile к фильтру.

Входные параметры

развернуть все

Отфильтруйте файл (файл .cvf), заданный как вектор символов пути к файлу. Вы не должны включать расширение.

Пример: 'myfilt', 'filters/myfilt'

Методы

addRuleДобавьте правило фильтрации покрытия отфильтровать
removeRuleУдалите правило из набора правила фильтра
правилаПравила для фильтра

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Создайте объект фильтра и добавьте правило в него. В этом примере вы добавляете правило исключить некоторые блоки от тестирования покрытия.

Откройте модель. Задайте настройки покрытия и включите запись покрытия.

modelName = 'sldemo_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricSettings','dcme','RecordCoverage','on');

Выберите блоки с типом блока 'RelationalOperator', чтобы добавить правило фильтра для.

bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockType,'RelationalOperator');

Создайте объект фильтра, создайте правило и добавьте правило в фильтр.

filt = slcoverage.Filter;
rule = slcoverage.FilterRule(bl,'Tested elsewhere',slcoverage.FilterMode.Exclude);
filt.addRule(rule);

После того, как вы создаете фильтр и добавляете одно или несколько правил в него, сохраняете фильтр в файл. Моделируйте модель для покрытия кода. Добавьте файл фильтра как значение к свойству filter получившегося объекта cvdata.

filt.save('blfilter');
csim = cvsim(modelName);
csim.filter = 'blfilter';
cvhtml('cov',csim);

Исследуйте отчет HTML и заметьте правила, которые были добавлены для блоков. Отчет покрытия показывает исключенные блоки и объяснение.

Этот пример принимает, что у вас есть существующий файл фильтра myfilt.cvf, в который вы хотите добавить правило. Создайте объект фильтра, который использует тот файл. Добавьте правило в объект фильтра и затем сохраните файл снова.

filt = slcoverage.Filter('myfilt');
bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,'sldemo_lct_bus:23');

rule = slcoverage.FilterRule(bl,'Edge case');
filt.addRule(rule);
filt.save('myfilt')

Введенный в R2017b