gtest - почему один тест влияет на поведение другого? - PullRequest
0 голосов
/ 30 апреля 2018

В настоящее время у меня есть gtest, в котором есть объект gtest с некоторыми переменными-членами и функциями.

У меня есть простой тест, а также более сложные тесты позже. Если я закомментирую сложные тесты, мой простой тест будет работать отлично. Однако, когда я включаю другие тесты (хотя я использую gtest_filter только для запуска первого теста), я начинаю получать segfaults. Я знаю, что невозможно отладить без публикации моего кода, но я думаю, что я хотел бы узнать больше на высоком уровне, как это могло произойти. Насколько я понимаю, TEST_F создает / разрушает новый объект каждый раз, когда он запускается, так как может быть, что существование теста влияет на другой? Особенно если я фильтрую, разве поведение не должно быть точно таким же?

1 Ответ

0 голосов
/ 12 сентября 2018

TEST_F не создает и не разрушает новый «объект» (на данный момент я предполагаю, что объект здесь должен интерпретироваться как экземпляр класса тестирования объектов) для каждого теста

То, что делается перед каждым тестом функции теста, - это вызов метода SetUp, а после каждого теста вызывается метод TearDown. Конструктор и деструктор объекта теста вызываются только один раз.

Но поскольку вы не предоставили mvce, мы не можем предполагать, что

...