Первое наблюдение заключается в том, что они не являются модульными испытаниями, так как им требуются «услуги». Я предлагаю рассмотреть возможность переоформления приложения, чтобы позволить запускать тесты без необходимости использования внешних сервисов. Один из подходов может заключаться в использовании абстрактных классов и макета Google.
Проблема с наличием внешней службы, которая сохраняется в нормальном состоянии TearDown
, заключается в том, что вы несете свою ответственность за обеспечение того, чтобы следующий тест обнаружил чистую среду: тест может быть разбит по состоянию, установленному предыдущим тестом.
Если вы действительно хотите, чтобы идти по пути долгоживущих внешних служб, прочитать о SetUpTestCase
и TearDownTestCase
в gtest advanced guide, что позволит запустить службу только один раз на испытательном стенде.
Существует еще более опасный класс Environment
, который позволяет выполнять глобальную настройку и разрывы (поиск в расширенном руководстве).
Но опять же, ваши тесты будут хрупкими и трудными для отладки. Я предлагаю пересмотреть подход.