createSharedTestFixture

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