reportFinalizedResult

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

Включите отчетность по окончательным результатам тестирования

Описание

пример

reportFinalizedResult(plugin,pluginData) включает отчетность по окончательным результатам тестирования. Результат теста завершается, когда нет возможности для каких-либо проверок его изменить. The 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