Не ясно, ищете ли вы методологию или конкретную технологию для тестирования.
Что касается методологии, может быть, вы не хотите проводить обширное модульное тестирование. Возможно, лучшим подходом было бы написать несколько программ на вашем доменном языке, а затем выполнить коды операций, чтобы получить результат. Затем тестовые программы проверят этот результат. Таким образом, вы можете использовать кучу кода, но в конце проверить только один результат. Начните с простых, чтобы устранить очевидные ошибки и перейти к более сложным. Вместо того, чтобы проверять сгенерированные коды операций каждый раз.
Другой подход заключается в том, чтобы автоматически генерировать программы на языке вашего домена вместе с ожидаемыми кодами операций. Это может быть очень просто, например, написание Perl-скрипта, который создает набор программ, таких как:
set lcl_var = 2
set lcl_var = 3
Когда у вас есть набор тестовых программ на вашем языке, которые имеют правильный вывод, вы можете вернуться назад и сгенерировать модульные тесты, которые проверяют каждый код операции. Поскольку у вас уже есть коды операций, становится вопросом проверки правильности вывода синтаксического анализатора; просматривая свой код.
Хотя я не использовал cppunit, я использовал собственный инструмент, очень похожий на cppunit. Было легко реализовать модульные тесты с использованием cppunit.