exponenta event banner

createSharedTestFixture

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

Расширение создания общих экземпляров испытательного прибора

Описание

пример

f = createSharedTestFixture(plugin,pluginData) расширяет возможности создания совместно используемых испытательных приборов и возвращает измененные Fixture экземпляр, f. Платформа тестирования использует экземпляр приспособления для настройки текущих тестов, в которых используются общие приспособления. Фреймворк оценивает этот метод в области действия runTestSuite способ TestRunnerPlugin для каждого общего испытательного прибора, который необходимо настроить. Типичной реализацией этого метода является добавление прослушивателей к различным событиям, происходящим из общего экземпляра тестового прибора. С момента Fixture наследует от handle , добавьте прослушиватели, вызвав addlistener метод в пределах createSharedTestFixture способ.

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

plugin

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

pluginData

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

Примеры

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

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

classdef ExamplePlugin < matlab.unittest.plugins.TestRunnerPlugin
    
    properties (SetAccess = private)
        FixtureAssertionFailureData = {};
    end
    
    methods (Access = protected)
        function fixture = createSharedTestFixture(plugin, pluginData)
            % Invoke the super class method
            fixture = createSharedTestFixture@...
                matlab.unittest.plugins.TestRunnerPlugin(plugin, pluginData);
            
            % Get the fixture name
            fixtureName = pluginData.Name;
            
            % Add a listener to fixture assertion failures
            % and capture the qualification failure information
            fixture.addlistener('AssertionFailed', @(~,evd) ...
                plugin.captureFixtureAssertionFailureData(evd, fixtureName))
        end
    end
    
    methods (Access = private)
        function captureFixtureAssertionFailureData(plugin, eventData, fixtureName)
            plugin.FixtureAssertionFailureData{end+1} = struct(...
                'FixtureName', fixtureName, ...
                'ActualValue', eventData.ActualValue, ...
                'Constraint' , eventData.Constraint, ...
                'Stack'      , eventData.Stack);
        end
    end
end
Представлен в R2014a