createTestClassInstance

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

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

Синтаксис

tc = createTestClassInstance(plugin,pluginData)

Описание

пример

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

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

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

Была ли эта тема полезной?