exponenta event banner

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

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

  • Файл набора требований с именем counter_req.slreqx.

  • Тестовый файл xml Unit с именем myMUnitResults.xml. Этот файл содержит тестовый пример с именем testCounterStartsAtZero.

Шаг 1: Регистрация типа канала

Перед созданием ссылок необходимо зарегистрировать тип связи из файла набора требований. Открыть файл требований 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

Раздел 2: Создание ссылки

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

Раздел 3: Просмотр статуса проверки

Для просмотра статуса проверки необходимо сначала обновить статус проверки для набора требований. В командной строке 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');

Редактор требований показывает статус проверки для каждого требования в наборе требований. Статус проверки для требований к counterSets Value полностью проверен.

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

Очистка

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

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

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