В этом примере вы связываете требование со скриптом MATLAB. Статус верификации в редакторе Simulink Requirements отражает результаты тестирования. Этот пример выполняет шаги, описанные в разделе Связывание с тестовым скриптом. Чтобы запустить этот пример, нажмите кнопку Открыть пример и запустите его. Этот пример использует:
Набор требований файла с именем 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
, см. «Ссылки и типы ссылок».
Примечание: Если команда register возвращает любое предупреждение, то необходимо отменить регистрацию файла и запустить команду снова. Чтобы отменить регистрацию файла, введите 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');
Статус верификации показывает, что из трех тестов прошел один тест. Нажмите кнопку Обновить, чтобы увидеть статус верификации требований в редакторе требований.
Очистите открытые наборы требований и наборы ссылок и закройте все открытые модели, не сохраняя изменений. Отмена регистрации типа ссылки.
slreq.clear; bdclose('all'); rmi unregister linktype_mymscripttap;