matlab.unittest.plugins.

Класс: matlab.unittest.plugins.
Пакет: matlab.unittest.plugins

Создайте TAPPlugin для формата TAP версии 13

Синтаксис

matlab.unittest.plugins.TAPPlugin.producingVersion13
matlab.unittest.plugins.TAPPlugin.producingVersion13(stream)
matlab.unittest.plugins.TAPPlugin.producingVersion13(___,Name,Value)

Описание

пример

matlab.unittest.plugins.TAPPlugin.producingVersion13 создает плагин, который производит вывод в версии 13 формата Test Anything Protocol (TAP). Версия 13 TAP вывод включает диагностический тест в блоки YAML. По умолчанию плагин использует поток ToStandardOutput, и вывод появляется на экране. В этом случае другой вывод, отправленный в экран, может делать недействительным поток TAP.

matlab.unittest.plugins.TAPPlugin.producingVersion13(stream) перенаправления весь вывод текста к заданному потоку вывода. Например, можно перенаправить вывод к потоку ToFile.

matlab.unittest.plugins.TAPPlugin.producingVersion13(___,Name,Value) создает плагин с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

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

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

Местоположение, где плагин направляет вывод текста, заданный как экземпляр класса OutputStream. По умолчанию плагин использует поток ToStandardOutput.

Пример: stream = matlab.unittest.plugins.ToStandardOutput

Пример: stream = matlab.unittest.plugins.ToFile('myFile.tap')

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

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

Пример: TAPPlugin.producingVersion13('LoggingLevel', Verbosity.Detailed) создает плагин, который включает диагностику, регистрируемую в и ниже уровня Detailed.

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

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

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

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

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

1Terse

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

2Concise

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

3Detailed

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

4Verbose

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

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

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

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

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

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

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

1Terse

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

2Concise

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

3Detailed

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

4Verbose

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

Примеры

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

В новом файле в вашей рабочей папке создайте ExampleTest.m, содержащий следующий тестовый класс.

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)  % Test fails
            testCase.verifyEqual(5,4,'Testing 5==4')
        end
        function testTwo(testCase)  % Test passes
            testCase.verifyEqual(5,5,'Testing 5==5')
        end
        function testThree(testCase)
            % test code
        end
    end
end

В командной строке создайте тестовый набор из класса ExampleTest.

import matlab.unittest.TestRunner
import matlab.unittest.TestSuite
import matlab.unittest.plugins.TAPPlugin
import matlab.unittest.plugins.ToFile

suite = TestSuite.fromClass(?ExampleTest);

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

runner = TestRunner.withTextOutput;

Создайте TAPPlugin, который отправляет вывод в файл MyTapOutput.tap.

tapFile = 'MyTAPOutput.tap';
plugin = TAPPlugin.producingVersion13(ToFile(tapFile));

Добавьте плагин в TestRunner и запустите комплект.

runner.addPlugin(plugin)
result = runner.run(suite);
Running ExampleTest

================================================================================
Verification failed in ExampleTest/testOne.

    ----------------
    Test Diagnostic:
    ----------------
    Testing 5==4

    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyEqual failed.
    --> The values are not equal using "isequaln".
    --> Failure table:
                Actual    Expected    Error    RelativeError
                ______    ________    _____    _____________
            
                5         4           1        0.25         
    
    Actual double:
             5
    Expected double:
             4

    ------------------
    Stack Information:
    ------------------
    In C:\work\ExampleTest.m (ExampleTest.testOne) at 4
================================================================================
...
Done ExampleTest
__________

Failure Summary:

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

Отобразите файл, созданный плагином.

disp(fileread(tapFile))
TAP version 13
1..3
not ok 1 - ExampleTest/testOne
    ---
    Event:
        Event Name: 'VerificationFailed'
        Event Location: 'ExampleTest/testOne'
        Test Diagnostic: |
            Testing 5==4
        Framework Diagnostic: |
            verifyEqual failed.
            --> The values are not equal using "isequaln".
            --> Failure table:
                    Actual    Expected    Error    RelativeError
                    ______    ________    _____    _____________
                
                    5         4           1        0.25         
            
            Actual Value:
                 5
            Expected Value:
                 4
        Stack: |
            In C:\work\ExampleTest.m (ExampleTest.testOne) at 4
    ...
ok 2 - ExampleTest/testTwo
ok 3 - ExampleTest/testThree

Можно использовать TAPPlugin, направленный к стандартному выводу. Однако любой другой текст, отображенный к стандартному выводу (такому как отказавшая информация о тесте), прерывает поток и имеет потенциал, чтобы делать недействительным его.

Введенный в R2017b