Напишите плагины для расширения TestRunner

Обзор пользовательских плагинов

TestRunnerPlugin методы имеют четыре уровня: сеанс тестирования, тестовый набор, класс тестирования и тест. На каждом уровне вы реализуете методы для расширения выполнения тестов. Кроме того, вы реализуете методы на тестовом наборе, тестовом классе и тестовых уровнях, чтобы расширить создание, настройку и отключение тестов или испытательных стендов.

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

The TestRunner запускает различные методы, как показано на рисунке.

TestRunnerPlugin methods organized into the test session, test suite, test class, and test levels

Методы создания являются единственным набором TestRunnerPlugin методы с выходным аргументом. Как правило, методы создания расширяются для прослушивания различных событий, происходящих из содержания теста, на соответствующем уровне. Начиная с обоих TestCase и Fixture образцы наследуются от handle класс, вы добавляете прослушиватели используя addlistener способ. Методы, которые настраивают, запускают и разрывают содержание теста, расширяют путь TestRunner оценивает содержание теста.

Расширение методов плагина уровня тестового сеанса

The TestRunnerPlugin методы на уровне тестового сеанса расширяют выполнение и отчеты тестового набора, переданные в TestRunner. Эти методы входят в возможности runSession способ.

Метод запуска на этом уровне, runTestSuite, расширяет ход фрагмента всего TestSuite массив, который среда тестирования передает TestRunner. The reportFinalizedSuite метод расширяет отчетность о тестовом наборе, который был завершен runTestSuite.

Расширение методов плагина уровня тестового набора

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

Тип методаУровень тестирования попадает в возможности runTestSuite
метод созданияcreateSharedTestFixture
метод настройкиsetupSharedTestFixture
метод выполненияrunTestClass
метод отключенияteardownSharedTestFixture

На этом уровне createSharedTestFixture метод является единственным методом плагина с выходным аргументом. Это возвращает Fixture образцы для каждого общего фиксатора, требуемого для тестового класса. Эти образцы фиксатора доступны для тестирования через getSharedTestFixtures метод TestCase.

Метод запуска на этом уровне, runTestClass, расширяет выполнение тестов, которые относятся к тому же тестовому классу или тому же функциональному тесту, и включает функциональность, описанную для методов плагина уровня теста.

Расширение методов плагина уровня тестового класса

The TestRunnerPlugin методы на уровне тестового класса расширяют возможности создания, настройки, выполнения и отключения элементов тестового набора, которые относятся к одному и тому же тестовому классу или тому же функциональному тесту. Эти методы применяются к подмножеству полного TestSuite массив, который TestRunner выполняется.

Тип методаУровень тестирования попадает в возможности runTestClass
метод созданияcreateTestClassInstance
метод настройкиsetupTestClass
метод выполненияrunTest
метод отключенияteardownTestClass

На этом уровне createTestClassInstance метод является единственным методом плагина с выходным аргументом. Это возвращает TestCase образцы, созданные на уровне класса. Для каждого класса среда тестирования передает образец в любые методы с TestClassSetup или TestClassTeardown атрибут.

Настройка тестового класса параметризируется, если она содержит свойства с ClassSetupParameter атрибут. В этом случае среда тестирования оценивает setupTestClass и teardownTestClass методы столько раз, сколько требует параметризация настройки класса.

Метод запуска на этом уровне, runTest, расширяет выполнение одной TestSuite Элемент и включает в себя функциональность, описанную для методов плагина уровня тестирования.

Среда тестирования оценивает методы на уровне класса тестирования в возможности runTestClass способ. Если на TestClassSetup код завершается успешно, он вызывает runTest метод один раз для каждого элемента в TestSuite массив. Каждый TestClassSetup параметризация вызывает создание, настройку и отключение методов в одно время.

Расширение методов плагина уровня тестирования

The TestRunnerPlugin методы на тестовом уровне расширяют возможности создания, настройки, выполнения и отключения одного элемента тестового набора. Одно Test элемент состоит из одного тестового метода или, если тест параметризирован, одного образца тестовой параметризации.

Тип методаУровень тестирования попадает в возможности runTest
метод созданияcreateTestMethodInstance
метод настройкиsetupTestMethod
метод выполненияrunTestMethod
метод отключенияteardownTestMethod

На этом уровне createTestMethodInstance метод является единственным методом плагина с выходным аргументом. Это возвращает TestCase образцы, созданные для каждого Test элемент. Среда тестирования передает каждый из этих образцов в соответствующий Test методы, и в любые методы с TestMethodSetup или TestMethodTeardown атрибут.

Среда тестирования оценивает методы на тестовом уровне в возможности runTest способ. При условии, что среда завершает все TestMethodSetup work, он вызывает методы плагина на этом уровне один раз в Test элемент.

См. также

| | | | | | |

Похожие темы