exponenta event banner

Интеграция результатов пользовательского сценария MATLAB в качестве теста

В этом примере необходимо связать требование со сценарием MATLAB. Статус проверки в редакторе требований Simulink отражает результаты теста. В этом примере выполняются шаги, описанные в разделе Привязка к тестовому сценарию. Чтобы запустить этот пример, щелкните Открыть пример и запустите его. В этом примере используются:

  • Файл набора требований с именем 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.

Создать ссылку

Создайте структуру, содержащую свойства внешнего теста. Для создания связи в командной строке введите:

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. В редакторе требований ссылка отображается на панели Подробно (Details) в разделе Ссылки (Links).

Просмотр статуса проверки

Для просмотра статуса проверки необходимо сначала обновить статус проверки для набора требований. В командной строке MATLAB введите:

reqSet.updateVerificationStatus;

Для просмотра столбца статуса проверки в редакторе требований убедитесь, что выбраны Столбцы > Статус проверки. После обновления выберите статус проверки для требования:

status = reqSet.getVerificationStatus;

Редактор требований показывает статус проверки для всего набора требований, которые были переданы или не выполнены.

Статус проверки для требований к counterStartsAtZero полностью проверен. Откройте редактор требований для просмотра статуса проверки:

reqSet = slreq.open('counter_req.slreqx');

Состояние проверки показывает, что из трех тестов один тест прошел. Нажмите кнопку Обновить, чтобы просмотреть статус проверки требований в редакторе требований.

Очистка

Очистите открытые наборы требований и наборы связей и закройте все открытые модели без сохранения изменений. Отмените регистрацию типа связи.

slreq.clear;
bdclose('all');
rmi unregister linktype_mymscripttap;

Связанные темы