matlab.unittest.plugins.TAPPlugin.producingVersion13

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

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

Описание

пример

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 имя аргумента и 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).

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

Уровень детализации для событий, о которых сообщают, в виде целочисленного значения от 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