exponenta event banner

matlab.unittest.plugins.Class OutputPlugin

Пакет: 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. По умолчанию плагин включает диагностику событий сбоя.

Типы данных: logical

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

Типы данных: logical

Максимальный уровень, на котором регистрируемая диагностика включается экземпляром плагина, задаваемый как целое значение от 0 до 4, a 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, a matlab.unittest.Verbosity объект перечисления или строковый скалярный или символьный вектор, соответствующий одному из предопределенных имен элементов перечисления. Целочисленные значения соответствуют членам matlab.unittest.Verbosity перечисление.

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

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

Нет информации

1Terse

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

2Concise

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

3Detailed

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

4Verbose

Много дополнительной информации

Свойства

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

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

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

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

Индикатор включения диагностики прохождения событий, указанный как false или true (logical 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