matlab.unittest.plugins.codecoverage. Класс CoverageReport

Пакет: matlab.unittest.plugins.codecoverage

Формат для отчета покрытия кода

Описание

Чтобы отобразить метрики покрытия кода в браузере MATLAB®, используйте экземпляр класса CoverageReport со сменным CodeCoveragePlugin.

Создание

Описание

reportFormat = CoverageReport создает формат CoverageReport. Используйте этот формат отчета с matlab.unittest.plugins.CodeCoveragePlugin, чтобы произвести файл HTML во временной папке, которая содержит отчет покрытия кода.

пример

reportFormat = CoverageReport(reportFolder) создает формат CoverageReport. Используйте этот формат отчета с matlab.unittest.plugins.CodeCoveragePlugin, чтобы произвести файл HTML в заданной папке, которая содержит отчет покрытия кода. Генерация отчета перезаписывает содержимое папки, заданной reportFolder.

пример

reportFormat = CoverageReport(___,'MainFile',mainFileName) создает формат CoverageReport с mainFileName как имя основного файла HTML, содержащего отчет покрытия кода.

Входные параметры

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

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

Имя основного файла HTML, содержащего отчет покрытия кода, заданный как имя файла с расширением .html.

Свойства

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

Имя основного файла HTML, который содержит отчет покрытия кода, заданный как имя файла с расширением .html. Чтобы установить свойство, передайте имя файла конструктору как пара 'MainFile','fileName'.

Пример: myReport.html

Атрибуты:

GetAccess

общественность

SetAccess

неизменяемый

Типы данных: char | string

Примеры

свернуть все

Создайте протокол испытаний с помощью формата CoverageReport. Задайте папку и имя файла HTML для отчета.

Создайте тест для этой функции.

function res = add5(x)
   % Increment input by 5.
   if ~isa(x,'numeric')
      error('add5:InputMustBeNumeric','Input must be numeric.')
   end
   res = x + 5;
end

Выведите класс от matlab.unittest.TestCase, чтобы реализовать методы тестирования.

classdef Add5Test < matlab.unittest.TestCase
   methods (Test)
      function testDoubleOut(testCase)
         actOutput = add5(1);
         testCase.verifyClass(actOutput,'double')
      end
      function testNonNumericInput(testCase)
         testCase.verifyError(@()add5('0'),'add5:InputMustBeNumeric')
      end
   end
end

Этот тестовый скрипт создает тестовый набор для одного файла, добавляет CodeCoveragePlugin с форматом CoverageReport к исполнителю тестов и запускает тесты. Формат на плагине задает имя основного файла HTML результатов испытаний и папки, содержащей результаты.

import matlab.unittest.TestSuite
import matlab.unittest.TestRunner
import matlab.unittest.plugins.CodeCoveragePlugin
import matlab.unittest.plugins.codecoverage.CoverageReport

suite = TestSuite.fromFile('Add5Test.m');
runner = TestRunner.withNoPlugins;
runner.addPlugin(CodeCoveragePlugin.forFile('Add5Test.m', ...
   'Producing',CoverageReport('Add5Results', ...
   'MainFile','Add5TestResults.html')))
runner.run(suite)
Code coverage report has been saved to:
 C:\myWorkingFolder\Add5Results\Add5TestResults.html

Введенный в R2019a