createTestMethodInstance

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

Расширение создания TestCase уровня метода образцы

Описание

пример

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

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

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