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

В этом примере вы связываете требование со скриптом 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;

Похожие темы