createTestMethodInstance

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

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

Синтаксис

tc = createTestMethodInstance(plugin,pluginData)

Описание

пример

tc = createTestMethodInstance(plugin,pluginData) расширяет создание уровня метода экземпляры TestCase и возвращает измененный экземпляр TestCase, tc. Среда тестирования оценивает этот метод в рамках метода runTest TestRunnerPlugin. Типичная реализация этого метода должна добавить прослушиватели различных событий, происходящих из экземпляра уровня метода. Поскольку TestCase наследовался классу handle, добавьте прослушиватели путем вызова метода addlistener из метода createTestMethodInstance. Среда тестирования создает экземпляры для каждого элемента массива matlab.unittest.Test и передает каждый экземпляр его соответствующим методам Test и любому методу с атрибутом TestMethodTeardown или TestMethodSetup.

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

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

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