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

В этом примере вы интегрируете результаты из xml- Модульный тест MATLAB путем ссылки на тестовый скрипт. Статус верификации в редакторе Simulink Requirements отражает результаты тестирования. Чтобы запустить этот пример, нажмите Открыть пример и запустите его. Этот пример использует:

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

  • xml Модульного теста файл с именем 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. В редакторе требований ссылка появится на панели «Сведения» в разделе Ссылок.

Раздел 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');

В редакторе требований показан статус верификации для каждого требования в наборе требований. Состояние верификации для требований counterSetsValue полностью проверено.

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

Очистка

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

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

Похожие темы