matlab.unittest.plugins.TAPPlugin.producingOriginalFormat

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

Создайте TAPPlugin для исходного формата TAP

Описание

пример

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

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

matlab.unittest.plugins.TAPPlugin.producingOriginalFormat(___,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.producingOriginalFormat('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 или 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.producingOriginalFormat(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))
1..3
not ok 1 - ExampleTest/testOne
# ================================================================================
# 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
# ================================================================================
# 
ok 2 - ExampleTest/testTwo
ok 3 - ExampleTest/testThree

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

Введенный в R2014a