В этом примере показано, как выбрать метрику и добавить правило, которое использует ту метрику. В этом примере вы создаете правило выровнять по ширине неудовлетворенное решение для блока Saturation.
Откройте модель и включите анализ покрытия
Загрузите модель в память.
Используйте Simulink.SimulationInput объект сконфигурировать покрытие для модели.
Симулируйте модель с помощью SimulationInput возразите как вход.
Просмотрите результаты покрытия прежде, чем применить фильтр. Можно получить доступ к покрытию с помощью decisioninfo, или можно просмотреть отчет HTML с помощью cvhtml.
Оба decisioninfo и cvhtml покажите тот же результат 50% Decision Coverage. Если вы не предназначаете свои текущие тесты, чтобы осуществить этот результат, можно выровнять по ширине результат, таким образом, об этом больше не сообщают как недостающее покрытие.
В этом примере мы выравниваем по ширине false результат решения input > lower limit цель решения в блоке Saturation.
Выровняйте по ширине Недостающую цель условия
MetricSelector объекты принимают блок path или указатель блока как второй вход. Получите указатель блока блока Saturation при помощи getSimulinkBlockHandle.
Поскольку выравниваемая по ширине цель является результатом решения, первым входом метрическому селекторному конструктору является slcoverage.MetricSelectorType.DecisionOutcome. Второй вход является указателем блока. Последние два являются индексом цели выровнять по ширине и индекс результата той цели, соответственно.
Поскольку input > lower limit цель решения является первой целью для блока Saturation, его объективным индексом является 1. Поскольку false результатом этой цели является первый результат, его индексом результата является также 1. Поэтому последними двумя входными параметрами является 1,1.
Создайте фильтр и правило. В этом случае мы используем режим фильтра по умолчанию, выравнивают по ширине. Затем добавьте правило в фильтр с помощью addRule метод.
Сохраните фильтр в файл фильтра с помощью save метод. Затем примените файл фильтра к cvdata объект путем присвоения filter свойство к новому файлу фильтра.
Регенерируйте результаты покрытия для блока Saturation с помощью нового отфильтрованного cvdata объект.
В отчете HTML недостающий результат решения подсвечен, чтобы указать, что это выравнивается по ширине. Decision Coverage для блока Saturation - теперь 75%.