reportFinalizedResult

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

Позвольте сообщить завершенного TestResults

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

Синтаксис

reportFinalizedResult(plugin,pluginData)

Описание

пример

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

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

Входные параметры

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

Сменный экземпляр, заданный как экземпляр класса matlab.unittest.plugins.TestRunnerPlugin.

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

Примеры

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

Используйте метод 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

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

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