В этом примере вы соединяете требование со скриптом MATLAB. Состояние верификации в Редакторе Simulink Requirements отражает результаты испытаний. Этот пример выполняет шаги, описанные в Соединении с Тестовым скриптом. Чтобы запустить этот пример, нажмите Open Example и запустите его. Этот пример использует:
Требования устанавливают файл с именем counter_req.slreqx
.
Скрипт MATLAB по имени runmytests.m
это запускает тест для Counter
класс в Counter.m
. Тестовый скрипт содержит пользовательские методы, которые пишут результатам формат TAP в файл с именем results.tap
.
Прежде, чем создать ссылки, необходимо указать тип ссылки из файла набора требований. Откройте файл требований counter_req.slreqx в Редакторе Требований:
reqSet = slreq.open('counter_req.slreqx');
Укажите тип ссылки, который характерен для внешнего тестового файла. Регистрацией домена, необходимой для этого примера, является linktype_mymscripttap.m
. Чтобы указать настраиваемую ссылку вводят linktype_mymscripttap.m
Ввод:
rmi register linktype_mymscripttap;
Пользовательская логика в GetResultFcn
функция определяет местоположение тестового файла, который соответствует тесту и выбирает результаты того тестового файла. Для получения дополнительной информации о GetResultFcn
, смотрите Типы Ссылки и Ссылки.
Примечание: Если команда регистра возвращает какое-либо предупреждение, то необходимо не указать файл и запустить команду снова. Чтобы не указать файл, введите rmi unregister linktype_mymscripttap
.
Сделайте struct, содержащий свойства внешнего теста. Создать ссылку, в командной строке, введите:
externalSource.id = 'counterStartsAtZero'; externalSource.artifact = 'runmytests.m'; externalSource.domain = 'linktype_mymscripttap';
Требованию, связанному со ссылкой, установили ее SID на 2. Найти требование связанным со ссылкой, введите:
requirement = reqSet.find('Type', 'Requirement', 'SID', 2);
Создать ссылку, введите:
link = slreq.createLink(requirement, externalSource);
Эта команда создает ссылку между тестом counterStartsAtZero
и требование с SID 2. В Редакторе Требований ссылка появляется в Панели под Ссылками.
Чтобы просмотреть состояние верификации, необходимо сначала обновить состояние верификации для набора требования. В командной строке MATLAB введите:
reqSet.updateVerificationStatus;
Чтобы видеть столбец состояния верификации в Редакторе Требований, гарантируйте, что Столбцы> Состояние Верификации выбраны. После обновления выберите состояние верификации для требования:
status = reqSet.getVerificationStatus;
Редактор Требований показывает состояние верификации для целого набора требований, которые передаются или отказавшие.
Состояние верификации для требований для counterStartsAtZero
полностью проверяется. Откройте Редактор Требований, чтобы видеть состояние верификации:
reqSet = slreq.open('counter_req.slreqx');
Состояние верификации показывает, что из трех тестов, один тест передал. Нажмите Refresh, чтобы видеть состояние верификации для требований в Редакторе Требований.
Очистите открытые наборы требования и наборы ссылки, и закройте любые открытые модели, не сохраняя изменения. Не укажите тип ссылки.
slreq.clear; bdclose('all'); rmi unregister linktype_mymscripttap;