matlab.unittest.plugins.DiagnosticsOutputPlugin class

Пакет: matlab.unittest.plugins

Плагин к прямой диагностике к потоку вывода

Описание

DiagnosticsOutputPlugin класс создает плагин к прямой диагностике к потоку вывода. Чтобы сконфигурировать тип диагностики и уровня детализации что среда тестирования выходные параметры, добавьте этот плагин в TestRunner экземпляр.

Конструкция

matlab.unittest.plugins.DiagnosticsOutputPlugin создает плагин, который направляет диагностику для не пройдено событий и для событий, регистрируемых в Verbosity.Terse уровень к ToStandardOutput поток .

matlab.unittest.plugins.DiagnosticsOutputPlugin(stream) диагностика перенаправлений к заданному потоку вывода. Например, можно перенаправить выход к потоку, созданному с помощью ToFile.

matlab.unittest.plugins.DiagnosticsOutputPlugin(___,Name,Value) создает плагин с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Например, DiagnosticsOutputPlugin('LoggingLevel',4,'IncludingPassingDiagnostics',true) создает плагин, который отображает диагностику, регистрируемую на любом уровне, и также отображает передающую диагностику.

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

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

Выведите местоположение в виде экземпляра OutputStream класс. Плагин направляет диагностическую информацию к заданному местоположению. По умолчанию плагин использует matlab.unittest.plugins.ToStandardOutput поток .

Пример: matlab.unittest.plugins.ToFile('myFile.txt')

Аргументы в виде пар имя-значение

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

Пример: DiagnosticsOutputPlugin('IncludingPassingDiagnostics',true,'OutputDetail',4) создает плагин, который включает передающую диагностику и диагностику отображений на многословном уровне детализации.

Исключить ли диагностику из провальных событий в виде false или true. По умолчанию плагин включает диагностику от провальных событий.

Типы данных: логический

Включать ли передающую диагностику события в виде false или true. По умолчанию плагин не включает диагностику от передающих событий.

Типы данных: логический

Максимальный уровень, в который регистрируемая диагностика включена сменным экземпляром в виде целочисленного значения от 0 до 4, matlab.unittest.Verbosity объект перечисления, или строковый скаляр или вектор символов, соответствующий одному из предопределенных имен элемента перечисления. Плагин включает диагностику, которая регистрируется на этом уровне и ниже. Целочисленные значения соответствуют членам matlab.unittest.Verbosity перечисление.

Числовое представлениеИмя элемента перечисленияОписание многословия
0None

Никакая информация

1Terse

Минимальная информация

2Concise

Умеренный объем информации

3Detailed

Некоторая дополнительная информация

4Verbose

Большая дополнительная информация

По умолчанию плагин включает диагностику, регистрируемую в matlab.unittest.Verbosity.Terse уровень (уровень 1). Чтобы исключить регистрируемую диагностику, задайте LoggingLevel как Verbosity.None (уровень 0).

Регистрируемая диагностика является диагностикой, которую вы предоставляете к среде тестирования вызов log (TestCase) или log (Fixture) метод.

Уровень детализации для событий, о которых сообщают, в виде целочисленного значения от 0 до 4, matlab.unittest.Verbosity объект перечисления, или строковый скаляр или вектор символов, соответствующий одному из предопределенных имен элемента перечисления. Целочисленные значения соответствуют членам matlab.unittest.Verbosity перечисление.

Сменная передача отчетов, сбой и регистрируемые события с суммой детали заданы OutputDetail. По умолчанию плагин записывает события в matlab.unittest.Verbosity.Detailed уровень (уровень 3).

Числовое представлениеИмя элемента перечисленияОписание многословия
0None

Никакая информация

1Terse

Минимальная информация

2Concise

Умеренный объем информации

3Detailed

Некоторая дополнительная информация

4Verbose

Большая дополнительная информация

Свойства

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

Это свойство доступно только для чтения.

Индикатор, если диагностика для провальных событий исключена в виде false или true логический 0 или 1). По умолчанию, ExcludeFailureDiagnostics false и диагностика от провальных событий включена в выход. Чтобы исключить диагностику из провальных событий от выхода, задайте ExcludeFailureDiagnostics как true во время сменной конструкции.

Это свойство доступно только для чтения.

Индикатор, если диагностика для передающих событий включена в виде false или true логический 0 или 1). По умолчанию, IncludePassingDiagnostics false и диагностика от передающих событий исключена из выхода. Чтобы включать диагностику от передающих событий в выходе, задайте IncludePassingDiagnostics как true во время сменной конструкции.

Это свойство доступно только для чтения.

Максимальный уровень многословия для регистрируемой диагностики, включенной плагином, возвращенным как matlab.unittest.Verbosity объект перечисления. Плагин включает диагностику, которая регистрируется на этом уровне и ниже. По умолчанию этим значением свойства является matlab.unittest.Verbosity.Terse. Можно задать различный уровень логгирования во время сменной конструкции.

Регистрируемая диагностика является диагностикой, которую вы предоставляете к среде тестирования вызов log (TestCase) или log (Fixture) метод.

Это свойство доступно только для чтения.

Уровень детализации для событий, о которых сообщают, возвращенных как matlab.unittest.Verbosity объект перечисления. По умолчанию этим значением свойства является matlab.unittest.Verbosity.Detailed. Можно задать различный выходной уровень детализации во время сменной конструкции.

Примеры

свернуть все

Создайте файл ExampleDiagOutputTest.m содержа следующий тестовый класс.

classdef ExampleDiagOutputTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)
            import matlab.unittest.Verbosity
            testCase.log(Verbosity.Detailed,'Testing failing event')
            testCase.verifyEqual(42,13,'42 == 13')
        end
        function testTwo(testCase)
            testCase.log(3,'Testing passing event')
            testCase.verifyTrue(true,'true is true')
        end
    end
end

Создайте тестовый набор из ExampleDiagOutputTest класс. Создайте исполнителя тестов без плагинов.

import matlab.unittest.TestRunner
import matlab.unittest.TestSuite
import matlab.unittest.Verbosity
import matlab.unittest.plugins.DiagnosticsOutputPlugin

suite = TestSuite.fromClass(?ExampleDiagOutputTest);
runner = TestRunner.withNoPlugins();

Создайте DiagnosticsOutputPlugin по умолчанию, добавьте его в бегуна и запустите тесты.

plugin = DiagnosticsOutputPlugin;
runner.addPlugin(plugin);
result = runner.run(suite);
================================================================================
Verification failed in ExampleDiagOutputTest/testOne.

    ----------------
    Test Diagnostic:
    ----------------
    42 == 13

    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyEqual failed.
    --> The values are not equal using "isequaln".
    --> Failure table:
            Actual    Expected    Error     RelativeError  
            ______    ________    _____    ________________
        
              42         13        29      2.23076923076923
    
    Actual Value:
        42
    Expected Value:
        13

    ------------------
    Stack Information:
    ------------------
    In C:\work\ExampleDiagOutputTest.m (ExampleDiagOutputTest.testOne) at 5
================================================================================
Failure Summary:

     Name                           Failed  Incomplete  Reason(s)
    ============================================================================
     ExampleDiagOutputTest/testOne    X                 Failed by verification.

Создайте другого исполнителя тестов и DiagnosticsOutputPlugin это отображает диагностику, включая передающую диагностику, в Terse уровень и диагностика отображений, которая регистрируется в Detailed уровень или ниже. Добавьте его в бегуна и повторно выполните тесты.

runner = TestRunner.withNoPlugins();
plugin = DiagnosticsOutputPlugin('OutputDetail',Verbosity.Terse, ...
    'LoggingLevel',3,'IncludingPassingDiagnostics',true);
runner.addPlugin(plugin);
result = runner.run(suite);
[Detailed] Diagnostic logged (2018-04-13 13:47:34): Testing failing event

FAIL: ExampleDiagOutputTest/testOne in ExampleDiagOutputTest.testOne at 6 :: verifyEqual failed.

[Detailed] Diagnostic logged (2018-04-13 13:47:34): Testing passing event

PASS: ExampleDiagOutputTest/testTwo in ExampleDiagOutputTest.testTwo at 10 :: verifyTrue passed.
Введенный в R2018b