exponenta event banner

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