Любая глобальная инициализация, которая должна выполняться каждый раз, когда начинается тестирование, или глобальная очистка, которая должна выполняться после завершения тестирования, называется глобальным приспособлением.Единая система испытанийГлобальная конструкция светильника основана наобщей модели светильника класса испытаний. Глобальная конструкция светильника позволяет определить любое количество глобальных светильников в любом тестовом файле, который представляет собой тестовый модуль. Хотя некоторые инициализации могут быть реализованы в функции инициализации тестового модуля, есть несколько причин, чтобы предпочесть глобальный подход.
В функции инициализации нет места операциям очистки/<teardown>.
В отличие от функции инициализации, вызов метода глобальной фиксации<setup>охраняется монитором исполнения. Это означает, что все непойманные ошибки, которые происходят во время инициализации, должным образом сообщаются.
Можно определить любое количество различных глобальных приспособлений, что позволяет разделить код инициализации по категориям.
Устройство позволяет размещать соответствующий<setup>/<teardown>код в непосредственной близости от вашего тестового модуля.
Если все тестовое дерево построено автоматически, функция инициализации пуста и автоматически генерируется.Единичная система испытаний. Внедрение функции инициализации может быть более трудоемким, чем использование глобального оборудования, в то время как глобальное оборудование является более актуальным.
Поскольку все светильники следуют одной и той же общей модели, вы можете легко переключиться с локальных на испытательные приборы на глобальные.
Если вы используете интерактивный тест-раннер (не поставляемый еще), на каждый запуск наносятся глобальные тестовые арматуры, а функция инициализации выполняется только один раз во время запуска тестового модуля (просто убедитесь, что это то, что вы действительно хотите).
Чтобы определить глобальный испытательный модуль, вам нужно реализовать класс, который соответствовал общей модели крепления и передал его в качестве аргумента макро<BOOST_GLOBAL_FIXTURE>.
BOOST_GLOBAL_FIXTURE(fixture_name);
Утверждение, которое выполняет глобальное определение крепления, должно находиться в области тестового файла.
Статья Global fixture раздела Boost.Test Fixtures может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.