createTestClassInstance

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

Расширьте создание уровня класса TestCase экземпляры

Описание

пример

tc = createTestClassInstance(plugin,pluginData) расширяет создание уровня класса TestCase экземпляры, и возвращают модифицированный TestCase экземпляр, tc. Среда тестирования использует TestCase экземпляр, чтобы настроить запускающие тесты, которые принадлежат тому же тестовому классу. Среда оценивает этот метод в рамках runTestClass метод TestRunnerPlugin. Типичная реализация этого метода должна добавить прослушиватели различных событий, происходящих из экземпляра уровня класса. Начиная с TestCase наследовался handle класс, добавляют прослушиватели путем вызова addlistener метод из createTestClassInstance метод. Для каждого класса среда тестирования передает экземпляр любому методу с TestClassSetup или TestClassTeardown атрибут.

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

plugin

Сменный объект в виде экземпляра matlab.unittest.plugins.TestRunnerPlugin класс.

pluginData

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

Примеры

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

Расширьте выполнение тестов, чтобы считать количество отказов предположения уровня класса.

classdef ExamplePlugin < matlab.unittest.plugins.TestRunnerPlugin
    
    properties (SetAccess = private)
        TestClassAssumptionFailureData = {};
    end
    
    methods (Access = protected)
        function testCase = createTestClassInstance(plugin,pluginData)
            % Invoke super class method
            testCase = createTestClassInstance@...
                matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData);
            
            % Get the test class name
            instanceName = pluginData.Name;
            
            % Add a listener to capture assumption failures
            testCase.addlistener('AssumptionFailed', @(~,evd) ...
                plugin.captureClassLevelAssumptionFailureData(evd,instanceName))
        end
    end
    
    methods (Access = private)
        function captureClassLevelAssumptionFailureData(plugin,eventData,instanceName)
            plugin.TestClassAssumptionFailureData{end+1} = struct(...
                'InstanceName', instanceName, ...
                'ActualValue'  , eventData.ActualValue, ...
                'Constraint'   , eventData.Constraint, ...
                'Stack'        , eventData.Stack);
        end
    end
end
Введенный в R2014a