exponenta event banner

sltest.plugins.

Пакет: sltest.plugins

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

Описание

Используйте sltest.plugins.TestManagerResultsPlugin для включения результатов Test Manager при использовании платформы MATLAB ® Unit Test для запуска файлов Simulink ® Test™. Результаты тестового примера и итерации теста отображаются в поле Подробно (Details) каждого из них.TestResult объект.

Чтобы опубликовать результаты Test Manager, настройте тестовый файл для создания отчетов и добавьте TestReportPlugin и TestManagerResultsPlugin классы в TestRunner объект. Результаты теста и итерации теста отображаются в разделе Подробно отчета о тестах MATLAB. Дополнительные сведения см. в разделе Тестирование модели для систем непрерывной интеграции.

Создание

tmr = sltest.plugins.TestManagerResultsPlugin создает объект плагина tmr который направляет TestRunner для получения улучшенного результата теста.

Можно также импортировать подключаемый модуль, а затем использовать имя класса для создания объекта:

import sltest.plugins.TestManagerResultsPlugin
tmr = TestManagerResultsPlugin

Входные аргументы

развернуть все

Параметры пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'ExportToFile','myfile'

Дополнительный файл для сохранения результатов в формате Simulink Test MLDATX, указанный как пара, разделенная запятыми, состоящая из 'ExportToFile' и имя файла.

Файл результатов MLDATX можно открыть в диспетчере тестов, нажав кнопку «Импорт» на панели инструментов.

Пример: 'ExportToFile','myfile'

Пример: 'ExportToFile','myfile.mldatx'

Примеры

свернуть все

В этом примере показано, как включить результаты диспетчера тестов в TestResult объект, полученный с помощью структуры тестирования блока MATLAB.

Тестовый случай создает квадратный сигнал, вводимый в подсистему контроллера, и протягивает 25 итераций параметров a и b. Тест сравнивает alpha вывод на базовую линию с допуском 0.0046. Выход, превышающий этот допуск, не проходит тест.

1. Задайте путь к тестовому файлу.

testfile = 'f14ParameterSweepTest.mldatx';

2. Создать TestSuite объект.

import matlab.unittest.TestSuite
suite = testsuite(testfile);

3. Создать TestRunner объект.

import matlab.unittest.TestRunner
runner = TestRunner.withNoPlugins;

4. Добавить TestManagerResultsPlugin в TestRunner.

tmr = sltest.plugins.TestManagerResultsPlugin; 
addPlugin(runner,tmr)

5. Запустите тест.

results = run(runner,suite);

6. Просмотр результатов 19-й итерации, неуспешного завершения теста.

failure = results(19)
failure = 
  TestResult with properties:

          Name: 'f14ParameterSweepTest > New Test Suite 1/Iterations Parameter Sweep(ScriptedIteration=Scripted_Iteration19)'
        Passed: 0
        Failed: 1
    Incomplete: 0
      Duration: 0.8909
       Details: [1x1 struct]

Totals:
   0 Passed, 1 Failed, 0 Incomplete.
   0.89093 seconds testing time.

В Details области TestResult объект, тест Результаты итерации отображаются как SimulinkTestManagerResults объект. SimulinkTestManagerResults объект содержит такую информацию, как тип тестового случая, причина сбоя и значения параметров, которые привели к сбою.

failure.Details.SimulinkTestManagerResults.TestCaseType
ans = 
'Baseline Test'
failure.Details.SimulinkTestManagerResults.CauseOfFailure
ans = 
'Failed criteria: Baseline'
failure.Details.SimulinkTestManagerResults.IterationSettings.variableParameters(1)
ans = struct with fields:
      parameterName: 'a'
             source: 'base workspace'
              value: 2.6000
       displayValue: '2.6'
    simulationIndex: 1

failure.Details.SimulinkTestManagerResults.IterationSettings.variableParameters(2)
ans = struct with fields:
      parameterName: 'b'
             source: 'base workspace'
              value: 66
       displayValue: '66'
    simulationIndex: 1

Представлен в R2018b