Как подавить ошибки времени выполнения, вызванные assert (), с помощью теста Google? - PullRequest
5 голосов
/ 13 июля 2011

Я использую Google Test в C ++ проекте.Некоторые функции используют assert () для проверки на недопустимые входные параметры.Я уже читал о тестах на смерть ( Что такое Google Test, тесты на смерть ) и начал использовать их в своих тестовых случаях.

Однако мне интересно, есть ли способ подавления ошибок времени выполнения, вызванных ошибочными утверждениями.В это время каждое ошибочное утверждение создает всплывающее окно, которое я должен закрывать при каждом запуске тестов.По мере роста моего проекта такое поведение все больше нарушает рабочий процесс неприемлемым образом, и я больше не склонен проверять утверждения assert () -.Я знаю, что в целом есть возможность отключить утверждения, но кажется более удобным подавлять предупреждения, генерируемые ОС, из среды тестирования.

1 Ответ

2 голосов
/ 06 ноября 2012

Хорошо, я сам нашел решение: вы должны выбрать тестовый стиль threadsafe. Просто добавьте следующую строку в ваш тестовый код:

::testing::FLAGS_gtest_death_test_style = "threadsafe";

Вы можете сделать это для всех тестов в тестовом бинарном файле или только для уязвимых тестов. Последнее быстрее. Я получил это из обновленного FAQ: Googletest AdvancedGuide

...