В этом примере вы интегрируете результаты из xml- Модульный тест MATLAB путем ссылки на тестовый скрипт. Статус верификации в редакторе Simulink Requirements отражает результаты тестирования. Чтобы запустить этот пример, нажмите Открыть пример и запустите его. Этот пример использует:
Набор требований файла с именем counter_req.slreqx.
xml Модульного теста файл с именем myMUnitResults.xml.
Этот файл содержит тест с именем testCounterStartsAtZero
.
Перед созданием ссылок необходимо зарегистрировать тип ссылки из файла набора требований. Откройте файл требований counter_req.slreqx
в редакторе требований.
reqSet = slreq.open('counter_req.slreqx');
Зарегистрируйте тип ссылки, характерный для тестового файла MUnit. Регистрация области, необходимая для этого примера linktype_mymljunitresults.m
. Регистрация пользовательского типа ссылок linktype_mymljunitresults.m
, тип:
rmi register linktype_mymljunitresults;
Пользовательская логика в GetResultFcn
функция определяет местоположение файла результатов, соответствующего тесту, и извлекает результаты из этого XML-файла. Для получения дополнительной информации о GetResultFcn
, см. «Ссылки и типы ссылок». Тест запускается с настроенным исполнителем тестов, используя XML-плагин создания JUnit. Класс XML-плагина создает плагин, который записывает результаты тестирования в файл с именем myMUnitResults.xml
.
Примечание: Если команда register возвращает любое предупреждение, то необходимо отменить регистрацию файла и запустить команду снова. Чтобы отменить регистрацию файла, введите 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. В редакторе требований ссылка появится на панели «Сведения» в разделе Ссылок.
Чтобы просмотреть статус верификации, сначала необходимо обновить статус верификации для набора требований. В командной строке 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 полностью проверено.
Статус верификации показывает, что из трех тестов прошел один тест. Нажмите кнопку Обновить, чтобы увидеть статус верификации требований в редакторе требований.
Очистите открытые наборы требований и наборы ссылок и закройте все открытые модели, не сохраняя изменений. Отмена регистрации типа ссылки.
slreq.clear; bdclose('all'); rmi unregister linktype_mymljunitresults;