createTestMethodInstance

Класс: matlab.unittest.plugins.TestRunnerPlugin
Пакет: 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