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). Выходы TAP версии 13 включают диагностический тест в блоках 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. По умолчанию плагин не включает диагностику от проходящих событий.

Типы данных: 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

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

Примеры

расширить все

В новом файле в рабочей папке создайте 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 направлен на стандартный выход. Однако любой другой текст, отображаемый в стандартном выходе (такой как информация о неудачном тесте), прерывает поток и может сделать его недействительным.

Введенный в R2016b