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

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