exponenta event banner

reportFinalizedResult

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

Предоставление отчетов о окончательных результатах тестирования

Описание

пример

reportFinalizedResult(plugin,pluginData) позволяет сообщать о окончательных результатах испытаний. Результат теста завершается, когда невозможно изменить квалификацию. TestRunner может изменить результаты ранее выполненного теста при выполнении кода внутри TestClassTeardown методы или разрывы совместно используемых испытательных приборов, например.

Плагин, который переопределяет reportFinalizedResult способ рекомендуется для потоковой или потоковой передачи результатов испытаний. При реализации этого метода TestRunner сообщает о результатах сразу же после их завершения. Плагин может затем сообщить результаты тестирования, пока набор тестов все еще работает, а не ждать, пока весь набор не будет завершен. Структура тестирования может оценивать reportFinalizedResult в рамках runTestSuite, runTestClass, или runTest методы TestRunnerPlugin.

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

развернуть все

Объект плагина, указанный как экземпляр matlab.unittest.plugins.TestRunnerPlugin класс.

Окончательная информация о тестах, указанная как экземпляр matlab.unittest.plugins.plugindata.FinalizedResultPluginData класс. Платформа тестирования использует эту информацию для описания содержимого теста плагина.

Примеры

развернуть все

Отображение статуса каждого Test с помощью reportFinalizedResult способ.

Создание файла подключаемого модуля ExamplePlugin.m в текущей папке.

classdef ExamplePlugin < matlab.unittest.plugins.TestRunnerPlugin
    methods (Access = protected)
        function reportFinalizedResult(plugin, pluginData)
            thisResult = pluginData.TestResult;
            if thisResult.Passed
                status = 'PASSED';
            elseif thisResult.Failed
                status = 'FAILED';
            elseif thisResult.Incomplete
                status = 'SKIPPED';
            end
            fprintf('%s: %s in %f seconds.\n',thisResult.Name,...
                status,thisResult.Duration)
            reportFinalizedResult@...
                matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData);
        end
    end
end

Создание файла класса теста ExampleTest.m в текущей папке.

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)
            testCase.assertGreaterThan(5,1)
        end
        function testTwo(testCase)
            wrongAnswer = 'wrong';
            testCase.verifyEmpty(wrongAnswer,'Not Empty')
            testCase.verifyClass(wrongAnswer,'double','Not double')
        end
        function testThree(testCase)
            testCase.assumeEqual(7*2,13,'Values not equal')
        end
        function testFour(testCase)
            testCase.verifyEqual(3+2,5);
        end
    end
end

В командной строке создайте набор тестов, добавьте подключаемый модуль в TestRunnerи запустите тесты.

import matlab.unittest.TestSuite
import matlab.unittest.TestRunner

suite = TestSuite.fromClass(?ExampleTest);
runner = TestRunner.withNoPlugins;
runner.addPlugin(ExamplePlugin)
result = runner.run(suite);
ExampleTest/testOne: PASSED in 0.002216 seconds.
ExampleTest/testTwo: FAILED in 0.006105 seconds.
ExampleTest/testThree: SKIPPED in 0.007458 seconds.
ExampleTest/testFour: PASSED in 0.004865 seconds.
Представлен в R2015b