exponenta event banner

Связывание с файлом результатов

В этом рабочем процессе необходимо связать требование с файлом результатов теста в формате Microsoft ® Excel ® с помощью редактора исходящих ссылок и API. Статус проверки в Simulink ® Requirements™ Editor отражает результаты теста. Эти иллюстрации следуют за потоком операций для включения результатов внешних тестов в статус проверки потребности. Дополнительные сведения см. в разделе Включение результатов из внешних источников в статус проверки.

Связывание с файлом результатов с помощью редактора исходящих ссылок

Создание набора требований с именем counter_req.slreqx в редакторе требований и сохраните его в доступном для записи месте. Этот набор требований содержит дочерние требования, имеющие идентификаторы и описания требований. Дополнительные сведения о создании наборов требований см. в разделе Работа с требованиями в редакторе Simulink.

Внешний файл результатов - это файл Excel с именем results.xlsx. Статус проверки в требованиях Simulink обновляется на основе значений ячеек листа Excel. Уникальный идентификатор в столбце Test определяет каждый результат в столбце Status. Метки Test и Status содержатся в строке заголовка.

Предположим, вы хотите обновить сведения о проверке для counterSetsValue на основе журнала состояния Excel. Чтобы создать и проверить ссылки на файл результатов, выполните следующие действия.

Создание и регистрация типа связи

Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m. Выполните следующие действия.

  1. Создайте новый файл MATLAB.

  2. Копировать содержимое linktype_TEMPLATE в новый файл. Сохранить файл как linktype_myexcelresults.m.

  3. В linktype_myexcelresults.m:

    1. Заменить имя функции linktype_TEMPLATE с linktype_myexcelresults.

    2. Набор linkType.Label как 'Excel Results'.

    3. Набор linkType.Extensions как {'.xlsx'}.

    4. Раскомментируйте команду для 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, см. Ссылки и типы ссылок.

  4. Сохранить linktype_myexcelresults.m.

  5. Зарегистрируйте тип связи. В командной строке введите:

    rmi register linktype_myexcelresults

    Примечание

    Если команда возвращает предупреждение, необходимо отменить регистрацию файла и повторить шаг 5. Отмените регистрацию файла, введя:

    rmi unregister linktype_myexcelresults

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

Чтобы добавить ссылку вручную в редакторе исходящих ссылок, выполните следующие действия.

  1. Откройте редактор требований и в окне counter_req.slreqx набор требований, щелкните правой кнопкой мыши дочернее требование 1.3 и выберите диалоговое окно «Открыть исходящие связи».

  2. В диалоговом окне «Редактор исходящих связей» на вкладке «Требования» нажмите кнопку «Создать».

  3. Введите следующие подробные данные для установления связи:

    • Описание: resultcounterSetsValue

    • Вид документа: Excel Results

    • Документ: results.xlsx

    • Расположение: counterSetsValue

  4. Нажмите кнопку OK. Ссылка подсвечивается в разделе «Ссылки» редактора требований.

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

Обновите статус проверки в редакторе требований. Нажмите кнопку «Обновить» для просмотра статуса проверки требований в редакторе требований. Здесь отображается состояние проверки для всего набора требований, прошедшего или завершившегося неуспешно.

Требования к counterSetsValue полностью проверены. Здесь статус проверки показывает, что из трех тестов один тест прошел.

Связывание с файлом результатов с помощью API

Создание набора требований с именем counter_req.slreqx в редакторе требований и сохраните его в доступном для записи месте. Этот набор требований содержит дочерние требования, имеющие идентификаторы и описания требований. Дополнительные сведения о создании наборов требований см. в разделе Работа с требованиями в редакторе Simulink.

Внешний файл результатов - это файл Excel с именем results.xlsx. Статус проверки в требованиях Simulink обновляется на основе значений ячеек листа Excel. Уникальный идентификатор в столбце Test определяет каждый результат в столбце Status. Метки Test и Status содержатся в строке заголовка.

Предположим, вы хотите обновить сведения о проверке для counterSetsValue на основе журнала состояния Excel. Чтобы создать и проверить ссылки на файл результатов, выполните следующие действия.

Создание и регистрация типа связи

Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m. Выполните следующие действия.

  1. Создайте новый файл MATLAB.

  2. Копировать содержимое linktype_TEMPLATE в новый файл. Сохранить файл как linktype_myexcelresults.m.

  3. В linktype_myexcelresults.m:

    1. Заменить имя функции linktype_TEMPLATE с linktype_myexcelresults.

    2. Набор linkType.Label как 'Excel Results'.

    3. Набор linkType.Extensions как {'.xlsx'}.

    4. Раскомментируйте команду для 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, см. Ссылки и типы ссылок.

  4. Сохранить linktype_myexcelresults.m.

  5. Зарегистрируйте тип связи. В командной строке введите:

    rmi register linktype_myexcelresults

    Примечание

    Если команда возвращает предупреждение, необходимо отменить регистрацию файла и повторить шаг 5. Отмените регистрацию файла, введя:

    rmi unregister linktype_myexcelresults

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

Чтобы создать ссылку, выполните следующие действия.

  1. В командной строке MATLAB ® введите :

    externalSource.id = 'counterSetsValue';
    externalSource.artifact = 'results.xlsx';
    externalSource.domain = 'linktype_myexcelresults';

  2. Найдите требование, связанное со ссылкой, введя:

    requirement = reqSet.find('Type', 'Requirement', 'SID', 4);

  3. Создайте ссылку, введя:

    link = slreq.createLink(requirement, externalSource);
    При этом связь создается как тестовый случай counterSetsValue для требования SID. В редакторе требований ссылка отображается в разделе Ссылки > Подтверждено.

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

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

reqSet.updateVerificationStatus
Выберите статус проверки для потребности путем ввода:
status = reqSet.getVerificationStatus
Здесь отображается состояние проверки для всего набора требований, прошедшего или завершившегося неуспешно. Нажмите кнопку Обновить, чтобы просмотреть статус проверки требований в редакторе требований.

Требования к counterSetsValue полностью проверены. Здесь статус проверки показывает, что из трех тестов один тест прошел.

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