Существуют ли какие-либо фреймворки, позволяющие имитировать std :: ifstream и другие библиотеки ввода / вывода? - PullRequest
1 голос
/ 20 марта 2019

Я работаю над действительно старым проектом C ++, у которого есть огромная БД, которую мне нужно высмеивать.Я пытаюсь смоделировать библиотеку ifstream для проверки контроля над файлами, проблема в том, что я не могу изменить свой старый код, поэтому мне трудно найти способ смоделировать без изменения какого-либо фрагмента кода. Заранее спасибо

1 Ответ

1 голос
/ 20 марта 2019

Mocking использует полиморфизм (реализует заданный интерфейс), поэтому есть два варианта:

  • использовать динамический полиморфизм, когда библиотека предлагает эту опцию. Для ifstream это не так AFAIK.

  • использовать статический полиморфизм (шаблоны), это означает, что устаревшая библиотека предлагает варианты использования чего-то другого, чем поток.

Я не думаю, что ваше унаследованное приложение предлагает какие-либо из этих опций, поэтому вам придется проверить его без насмешек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...