exponenta event banner

класс matlab.unittest.plugins.ToFile

Пакет: matlab.unittest.plugins
Суперклассы: matlab.unittest.plugins.OutputStream

Выходной поток для записи текстовых выходных данных в файл

Описание

ToFile создает выходной поток, который записывает выходные данные текста в UTF-8 кодированный файл. При печати текста в этом потоке выходной поток открывает файл, добавляет текст и закрывает файл.

Строительство

matlab.unittest.plugins.ToFile(fname) создает OutputStream который записывает выходные данные текста в файл, fname.

Входные аргументы

fname

Имя файла для записи выходного текста, заданного как символьный вектор или строковый скаляр. Если fname существует, текст из потока добавляется в файл.

Свойства

Filename

Имя файла для перенаправления текста, выводимого из плагина, указанного во входном аргументе, fname.

Копирование семантики

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

В рабочей папке создайте файл 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

verifyEqual квалификация в testOne вызывает сбой теста. Квалификация в testOne и testTwo включить экземпляр matlab.unittest.diagnostics.StringDiagnostic.

В командной строке создайте набор тестов из 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.

filename = 'MyTapOutput.tap';
plugin = TAPPlugin.producingOriginalFormat(ToFile(filename));

Добавьте подключаемый модуль в 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.

Вывод на экран осуществляется только при тестовых сбоях. По умолчанию TestRunner.withTextOutput использует DiagnosticsOutputPlugin для отображения выходных данных на экране.

Просмотрите содержимое файла, созданного плагином.

disp(fileread(filename))
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
Представлен в R2014a