Пакет: sltest.plugins.coverage
Укажите метрики покрытия для тестов, запускаемых с помощью среды Модульный Тест
Используйте sltest.plugins.coverage.CoverageMetrics
класс, чтобы задать метрики покрытия. Передайте объект метрики покрытия в объект плагина покрытия модели.
создает объект метрики покрытия с заданными свойствами.cmo
= sltest.plugins.coverage.CoverageMetrics(Properties
)
Можно также импортировать плагин, затем использовать имя класса для создания объекта:
import sltest.plugins.coverage.CoverageMetrics cmo = CoverageMetrics(Properties)
Decision
- Decision CoverageВключите или отключите набор Decision Coverage.
Пример: 'Decision',true
SetAccess | public |
GetAccess | public |
Condition
- Покрытие условияВключите или отключите набор покрытия условий.
Пример: 'Condition',true
SetAccess | public |
GetAccess | public |
MCDC
- Покрытие MCDCВключите или отключите набор измененных условий/покрытий для принятия решений.
Пример: 'MCDC',true
SetAccess | public |
GetAccess | public |
LookupTable
- Покрытие интерполяционных таблицВключите или отключите набор покрытия интерполяционных таблиц.
Пример: 'LookupTable',true
SetAccess | public |
GetAccess | public |
SignalRange
- Охват диапазона сигналаВключите или отключите набор покрытия диапазона сигнала.
Пример: 'SignalRange',true
SetAccess | public |
GetAccess | public |
SignalSize
- Охват по размеру сигналаВключите или отключите набор покрытия размера сигнала.
Пример: 'SignalSize',true
SetAccess | public |
GetAccess | public |
SimulinkDesignVerifier
- Покрытие блока Simulink Design VerifierВключите или отключите набор покрытия блоков Simulink Design Verifier.
Пример: 'SimulinkDesignVerifier',true
SetAccess | public |
GetAccess | public |
SaturationOnIntegerOverflow
- насыщение блоков при целочисленном переполненииВключите или отключите запись количества раз, которое блок достигает при целочисленном переполнении.
Пример: 'SaturationOnIntegerOverflow',true
SetAccess | public |
GetAccess | public |
RelationalBoundary
- Реляционный краевой охватВключите или отключите реляционный граничный охват.
Пример: 'RelationalBoundary',true
SetAccess | public |
GetAccess | public |
В этом примере показано, как использовать MATLAB ® Модульный Тест для сбора покрытия для тестов, выполняемых на модели Simulink ®.
Вы запускаете тесты в AutopilotTestFile.mldatx
тестовый файл при сборе измененного покрытия условия/решения (MCDC).
1. Импортируйте исполнитель тестов и плагины для примера.
import matlab.unittest.TestRunner import sltest.plugins.ModelCoveragePlugin import sltest.plugins.coverage.CoverageMetrics
2. Создайте объект плагина покрытия модели и объект метрики покрытия. В этом примере вы используете покрытие MCDC и записываете покрытие для ссылочных моделей.
mcdcMet = CoverageMetrics('Decision',false,'Condition',false,'MCDC',true); covSettings = ModelCoveragePlugin('RecordModelReferenceCoverage',true,... 'Collecting',mcdcMet);
3. Создайте тестовый набор MATLAB ® Модульный Тест из тестового файла.
tf = sltest.testmanager.TestFile('AutopilotTestFile.mldatx');
APSuite = testsuite(tf.FilePath);
4. Создайте исполнитель тестов без каких-либо плагинов, затем добавьте плагин покрытия к раннеру.
APRun = TestRunner.withNoPlugins(); addPlugin(APRun,covSettings);
5. Запустите набор.
% Turn off the command line warnings. warning off Stateflow:cdr:VerifyDangerousComparison warning off Stateflow:Runtime:TestVerificationFailed APResult = run(APRun,APSuite)
Coverage Report for RollAutopilotMdlRef/Roll Reference /tmp/BR2021ad_1657350_5204/mlx_to_docbook1/tp45fcfabf_e6b7_4225_ac8a_a1da536fa038.html
APResult = TestResult with properties: Name: 'AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test' Passed: 0 Failed: 1 Incomplete: 0 Duration: 5.1177 Details: [1x1 struct] Totals: 0 Passed, 1 Failed, 0 Incomplete. 5.1177 seconds testing time.
6. Для просмотра отчета о покрытии можно открыть ссылку в командной строке вывода.
Очистка. Очистить результаты и повторно включить предупреждения.
warning on Stateflow:cdr:VerifyDangerousComparison warning on Stateflow:Runtime:TestVerificationFailed sltest.testmanager.clearResults; sltest.testmanager.clear; sltest.testmanager.close;
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.