Я в основном разрабатываю на родном C ++ для Windows, используя Visual Studio.
Часто я обнаруживаю, что создаю новую функцию / класс или что-то в этом роде, и я просто хочу быстро протестировать тот фрагмент логики, который я только что написал.
Часто мне приходится запускать все приложение, что иногда может занять некоторое время, так как есть много связанных частей.
Есть ли какой-нибудь инструмент, который позволит мне быстро протестировать этот новый кусок кода без необходимости запуска всего приложения?
1011 * т.е. *
Допустим, у меня есть проект с примерно 1000 файлами, и я добавляю новый класс под названием Adder. У Adder есть метод Add (int, int);
Я просто хочу, чтобы IDE / инструмент позволял мне тестировать только класс Adder (без необходимости создавать новый проект и писать фиктивный main.cpp), позволяя мне указывать значение входных данных, поступающих в объект Adder , Точно так же было бы неплохо, если бы это позволило мне указать ожидаемый результат от тестируемого объекта.
Что было бы еще круче, если бы IDE / инструмент затем «записывал» эти наборы входов / ожидаемых выходных данных и автоматически создавал класс тестера модулей на их основе. Если бы я добавил больше наборов ввода / вывода, он бы продолжал строить историю ввода / вывода.
Или как насчет этого: что, если я запустил реальное приложение, передал в него некоторые реальные данные, и чтобы IDE / инструмент захватил все входные данные, поступающие в тестируемый модуль. Таким образом, я могу быстро возобновить тестирование, если обнаружу какие-либо ошибки в моей программе или я хочу немного изменить ее интерфейс. Я думаю, что эта функция была бы очень полезной и может помочь разработчику быстро протестировать / изменить свой код.
Я говорю о тестировании фиктивного объекта / модуля, которое уже существует?
Sidenote: было бы здорово, если бы в отладчике Visual Studio была реализована технология «воспроизведения», при которой пользователь может вернуться назад, чтобы найти, что пошло не так. Такой отладчик уже существует здесь: http://www.totalviewtech.com/