В этом примере вы интегрируете результаты MATLAB xml Модульный тест путем соединения с тестовым скриптом. Состояние верификации в Редакторе Simulink Requirements отражает результаты испытаний. Чтобы запустить этот пример, нажмите Open Example и запустите его. Этот пример использует:
Требования устанавливают файл с именем counter_req.slreqx.
xml файл с именем Модульного теста myMUnitResults.xml.
Этот файл содержит тест под названием testCounterStartsAtZero
.
Прежде, чем создать ссылки, необходимо указать тип ссылки из файла набора требований. Откройте файл требований counter_req.slreqx
в редакторе требований.
reqSet = slreq.open('counter_req.slreqx');
Укажите тип ссылки, который характерен для тестового файла MUnit. Регистрацией домена, необходимой для этого примера, является linktype_mymljunitresults.m
. Указывать пользовательский linktype linktype_mymljunitresults.m
Ввод:
rmi register linktype_mymljunitresults;
Пользовательская логика в GetResultFcn
функция определяет местоположение файла результата, который соответствует тесту и выбирает результаты этого .xml файл. Для получения дополнительной информации о GetResultFcn
, смотрите Типы Ссылки и Ссылки. Тест запущен с индивидуально настраиваемым исполнителем тестов с помощью Плагина XML создание JUnit выход. Сменный класс XML создает плагин, который пишет результаты испытаний в файл под названием myMUnitResults.xml
.
Примечание: Если команда регистра возвращает какое-либо предупреждение, то необходимо не указать файл и запустить команду снова. Чтобы не указать файл, введите rmi unregister myMUnitResults.xml
Сделайте struct
содержа свойства внешнего теста. Создать ссылку, в командной строке, введите:
externalSource.id = 'testCounterStartsAtZero'; externalSource.artifact = 'counterTests.m'; externalSource.domain = 'linktype_mymljunitresults';
Требованию, связанному со ссылкой, установили ее SID на 2. Найти требование связанным со ссылкой, введите:
requirement = reqSet.find('Type', 'Requirement', 'SID', 2);
Создать ссылку, введите:
link = slreq.createLink(requirement, externalSource);
Эта команда создает ссылку между тестом testCounterStartsAtZero
и требование с SID 2. В Редакторе Требований ссылка появляется в разделе Links> Confirmed By.
Чтобы просмотреть состояние верификации, необходимо сначала обновить состояние верификации для набора требования. В командной строке MATLAB введите:
reqSet.updateVerificationStatus;
Чтобы видеть столбец состояния верификации в Редакторе Требований, гарантируйте, что Отображение> Состояние Верификации выбрано. После обновления выберите состояние верификации для требования:
status = reqSet.getVerificationStatus
status = struct with fields:
total: 3
passed: 0
failed: 0
unexecuted: 1
justified: 0
none: 2
Редактор Требований показывает состояние верификации для целого набора требований, которые передаются или отказавшие.
Состояние верификации для требований для testCounterStartsAtZero
полностью проверяется. Откройте Редактор Требований, чтобы видеть состояние верификации:
reqSet = slreq.open('counter_req.slreqx');
Редактор Требований показывает состояние верификации для каждого требования в наборе требования. Состояние верификации для требований для counterSetsValue полностью проверяется.
Состояние верификации показывает, что из трех тестов, один тест передал. Нажмите Refresh, чтобы видеть состояние верификации для требований в Редакторе Требований.
Очистите открытые наборы требования и наборы ссылки, и закройте любые открытые модели, не сохраняя изменения. Не укажите тип ссылки.
slreq.clear; bdclose('all'); rmi unregister linktype_mymljunitresults;
Включайте результаты внешних источников в состояние верификации