В этом рабочем процессе вы связываете требование с файлом результатов тестирования, который находится в Microsoft® Excel® формат с использованием редактора исходящих ссылок и API. Статус верификации в Simulink® Requirements™ Editor отражает результаты тестирования. Эти рисунки соответствуют рабочему процессу включения результатов внешнего тестирования в статус верификации потребности. Дополнительные сведения см. в разделе Включение результатов из внешних источников в статус верификации.
Создайте набор требований с именем counter_req.slreqx
в редакторе требований и сохраните его в расположении с возможностью записи. Этот набор требований имеет дочерние требования, которые имеют идентификаторы и описания требований. Для получения дополнительной информации о том, как создать наборы требований, смотрите Работа с требованиями в редакторе Simulink.
Файл внешних результатов является файлом Excel под названием results.xlsx
. Статус верификации в Simulink Requirements обновляется на основе значений камер на листе Excel. Уникальный идентификатор в столбце Test определяет каждый результат в столбце Status. Метки Test и Status содержатся в строке заголовка.
Предположим, что вы хотите обновить информацию о верификации для counterSetsValue
тест на основе журнала состояния Excel. Выполните следующие действия, чтобы создать и проверить ссылки на файл результатов:
Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m
. Выполните следующие действия:
Создайте новый файл MATLAB.
Скопируйте содержимое linktype_TEMPLATE
в новый файл. Сохраните файл следующим linktype_myexcelresults.m
.
В linktype_myexcelresults.m
:
Замените имя функции linktype_TEMPLATE
с linktype_myexcelresults
.
Задайте linkType.Label
как 'Excel Results'
.
Задайте linkType.Extensions
как {'.xlsx'}
.
Раскомментируйте команду для GetResultFcn
в порядок использовать его в linktype_myexcelresults
и введите:
linktype.GetResultFcn = @GetResultFcn; ...... function result = GetResultFcn(link) testID = link.destination.id; resultFile = link.destination.artifact; if ~isempty(resultFile) && isfile(resultFile) resultTable = readtable(resultFile); testRow = strcmp(resultTable.Test,testID); status = resultTable.Status(testRow); if status{1} == "passed" result.status = slreq.verification.Status.Pass; elseif status{1} == "failed" result.status = slreq.verification.Status.Fail; else result.status = slreq.verification.Status.Unknown; end else result.status = slreq.verification.Status.Unknown; end end
GetResultFcn
, см. «Ссылки и типы ссылок».
Сохраните linktype_myexcelresults.m
.
Зарегистрируйте тип ссылки. В командной строке введите:
rmi register linktype_myexcelresults
Примечание
Если команда возвращает предупреждение, необходимо отменить регистрацию файла и повторить шаг 5. Отменить регистрацию файла путем ввода:
rmi unregister linktype_myexcelresults
Выполните следующие действия, чтобы добавить ссылку вручную в Редактор исходящих ссылок:
Откройте Редактор требований и, в counter_req.slreqx
набор требований, щелкните правой кнопкой мыши дочернее требование 1.3
и выберите Open Outgoing Links dialog.
В диалоговом окне Редактор исходящих ссылок, на вкладке Requirements, нажмите New.
Введите следующие данные для установления ссылки:
Описание: resultcounterSetsValue
Тип документа: Excel Results
Документ: results.xlsx
Расположение: counterSetsValue
Нажмите OK. Ссылка выделена в Links разделе редактора требований.
Обновите статус верификации в редакторе требований. Нажмите Refresh кнопку для просмотра статуса верификации требований в редакторе требований. Это показывает состояние верификации для всего набора требований, который прошел или не прошел проверку.
Требования к counterSetsValue
полностью проверены. Здесь статус верификации показывает, что из трех тестов прошел один тест.
Создайте набор требований с именем counter_req.slreqx
в редакторе требований и сохраните его в расположении с возможностью записи. Этот набор требований имеет дочерние требования, которые имеют идентификаторы и описания требований. Для получения дополнительной информации о том, как создать наборы требований, смотрите Работа с требованиями в редакторе Simulink.
Файл внешних результатов является файлом Excel под названием results.xlsx
. Статус верификации в Simulink Requirements обновляется на основе значений камер на листе Excel. Уникальный идентификатор в столбце Test определяет каждый результат в столбце Status. Метки Test и Status содержатся в строке заголовка.
Предположим, что вы хотите обновить информацию о верификации для counterSetsValue
тест на основе журнала состояния Excel. Выполните следующие действия, чтобы создать и проверить ссылки на файл результатов:
Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m
. Выполните следующие действия:
Создайте новый файл MATLAB.
Скопируйте содержимое linktype_TEMPLATE
в новый файл. Сохраните файл следующим linktype_myexcelresults.m
.
В linktype_myexcelresults.m
:
Замените имя функции linktype_TEMPLATE
с linktype_myexcelresults
.
Задайте linkType.Label
как 'Excel Results'
.
Задайте linkType.Extensions
как {'.xlsx'}
.
Раскомментируйте команду для GetResultFcn
в порядок использовать его в linktype_myexcelresults
и введите:
linktype.GetResultFcn = @GetResultFcn; ...... function result = GetResultFcn(link) testID = link.destination.id; resultFile = link.destination.artifact; if ~isempty(resultFile) && isfile(resultFile) resultTable = readtable(resultFile); testRow = strcmp(resultTable.Test,testID); status = resultTable.Status(testRow); if status{1} == "passed" result.status = slreq.verification.Status.Pass; elseif status{1} == "failed" result.status = slreq.verification.Status.Fail; else result.status = slreq.verification.Status.Unknown; end else result.status = slreq.verification.Status.Unknown; end end
GetResultFcn
, см. «Ссылки и типы ссылок».
Сохраните linktype_myexcelresults.m
.
Зарегистрируйте тип ссылки. В командной строке введите:
rmi register linktype_myexcelresults
Примечание
Если команда возвращает предупреждение, необходимо отменить регистрацию файла и повторить шаг 5. Отменить регистрацию файла путем ввода:
rmi unregister linktype_myexcelresults
Выполните следующие действия, чтобы создать ссылку:
Из MATLAB® в командной строке введите:
externalSource.id = 'counterSetsValue'; externalSource.artifact = 'results.xlsx'; externalSource.domain = 'linktype_myexcelresults';
Найти требование, относящееся к ссылке, путем ввода:
requirement = reqSet.find('Type', 'Requirement', 'SID', 4);
Создайте ссылку путем ввода:
link = slreq.createLink(requirement, externalSource);
counterSetsValue
для требуемого SID
. В редакторе требований ссылка появится в разделе Links > Confirmed By.
Обновите статус верификации для набора требований. В командной строке MATLAB введите:
reqSet.updateVerificationStatus
status = reqSet.getVerificationStatus
Требования к counterSetsValue
полностью проверены. Здесь статус верификации показывает, что из трех тестов прошел один тест.