Я пытаюсь добавить модульные тесты и макеты в устаревший проект. В рамках этого я частично издевался над одним из классов, имитируя только те методы, которые мне нужны в классе, который я сейчас тестирую. Затем я передаю этот макет классу для внедрения зависимостей и удаляю его в деструкторе, однако, когда я запускаю тест, он жалуется:
ERROR: this mock object (used in test xxxx) should be deleted but never is. Its address is @0000000004208AD0.
ERROR: 1 leaked mock object found at program exit.
При отладке кода я вижу, что удаление вызывается для фиктивного объекта в деструкторе, но он все еще жалуется. Если я снова вызываю delete в конце теста, я получаю исключение SEH, потому что я пытаюсь удалить память, которая уже была освобождена, но если я закомментирую удаление в деструкторе, тогда это сработает (но это, очевидно, привести к утечке памяти)