Прежде всего, что вы подразумеваете под модульным тестом и генерировать модульные тесты?
Вы имеете в виду создать структуру, использовать тест или вы хотите создать тест с данными и проверками данных или утверждениями, которые фактически вызывают ваш код. И, в последнем случае, как генерируется этот тест?
Более фундаментально, почему вы тестируете? Вы придерживаетесь стандарта, который требует определенного уровня тестирования, или вы просто «пытаетесь» снизить риск и затраты на более поздних стадиях разработки? Или, возможно, вы строите существующую систему и просто хотите убедиться, что не нарушаете существующие функции.
В предыдущем ответе упоминалась Cantata, недавно мы выпустили новую версию с компонентом, называемым «базовое тестирование». Это может быть именно то, что вы ищете. Для кода на языке C он создаст набор модульных тестов, содержащих тестовые примеры, которые имеют хорошие шансы для полной реализации каждого из ваших исходных файлов. Инструмент достигает этого, читая ваш источник и выполняя набор тестов, которые направляют выполнение по каждому пути, чтобы достичь желаемой цели покрытия - 100% утверждение, решение или даже покрытие MC / DC. Намерение состоит в том, чтобы «исходить» из исходного кода в рамках текущей разработки устаревшей системы или заполнить пробелы в покрытии после функционального или, возможно, системного тестирования.
См. Веб-страницу Cantata ++ для получения дополнительной информации (и бесплатных оценок)