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

Была ли эта тема полезной?