exponenta event banner

createTestMethodInstance

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

Расширение создания уровня метода TestCase случаи

Описание

пример

tc = createTestMethodInstance(plugin,pluginData) расширяет создание уровня метода TestCase экземпляры и возвращает измененный TestCase экземпляр, tc. Структура тестирования оценивает этот метод в области runTest способ TestRunnerPlugin. Типичной реализацией этого метода является добавление прослушивателей к различным событиям, происходящим из экземпляра уровня метода. С момента TestCase наследует от handle , добавьте прослушиватели, вызвав addlistener метод в пределах createTestMethodInstance способ. Структура тестирования создает экземпляры для каждого элемента matlab.unittest.Test массив и передает каждый экземпляр в соответствующий Test и любому методу с помощью TestMethodSetup или TestMethodTeardown атрибут.

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

plugin

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

pluginData

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

Примеры

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

Добавьте прослушиватель для прослушивания ошибок допущений. Используйте вспомогательный метод, captureMethodLevelAssumptionFailureData, для заполнения TestMethodAssumptionFailureData собственность.

classdef ExamplePlugin < matlab.unittest.plugins.TestRunnerPlugin

    properties (SetAccess = private)
        TestMethodAssumptionFailureData = {};
    end

    methods (Access = protected)
        function testCase = createTestMethodInstance(plugin, pluginData)
            testCase = createTestMethodInstance@...
                matlab.unittest.plugins.TestRunnerPlugin(plugin, pluginData);

            instanceName = pluginData.Name;
            testCase.addlistener('AssumptionFailed', @(~,evd) ...
                plugin.captureMethodLevelAssumptionFailureData(evd,instanceName))
        end
    end

    methods (Access = private)
        function captureMethodLevelAssumptionFailureData(...
                plugin, eventData, instanceName)
            plugin.TestMethodAssumptionFailureData{end+1} = struct(...
                'InstanceName', instanceName, ...
                'ActualValue'     , eventData.ActualValue, ...
                'Constraint'      , eventData.Constraint, ...
                'Stack'           , eventData.Stack);
        end
    end

end
Представлен в R2014a